What is 'instanceof'?
The instanceof operator is used to check whether the run-time type of an object is compatible with a given type (15.20.2 Type Comparison Operator instanceof):
expression instanceof type
The type of an expression operand of the instanceof operator must be a reference type or the null type; otherwise, a compile-time error occurs. The type mentioned after the instanceof operator must denote a reference type; otherwise, a compile-time error occurs.
An instanceof expression evaluates to true if both of the following conditions are met:
- expression is not null.
- expression can be cast to type. That is, a cast expression of the form (type)(expression) will complete without raising a ClassCastException.
It is a compile-time error if the type mentioned after the instanceof operator does not denote a reifiable type.
If a cast of the expression to the type would be rejected as a compile-time error, then the instanceof relational expression likewise produces a compile-time error. In such a situation, the result of the instanceof expression could never be true.
Here is an example code:
public class Test{
public static void main(String[] args) {
String s = "XyzWS.com";
byte[] b = s.getBytes();
System.out.println(b instanceof byte[]);
System.out.println(b instanceof Object);
//System.out.println(b instanceof Object[]);
//byte[] can not cast to Object[]
//System.out.println(b instanceof byte);
//byte is primitive type
}
}
Further Reading
Most Recent java Faqs
- How to uncompress a file in the gzip format?
- How to make a gzip file in Java?
- How to use Java String.split method to split a string by dot?
- How to validate URL in Java?
- How to schedule a job in Java?
- How to return the content in the correct encoding from a servlet?
- What is the difference between JDK and JRE?
Most Viewed java Faqs
- How to read input from console (keyboard) in Java?
- How to use HttpURLConnection POST data to web server?
- How to add BASIC Authentication into HttpURLConnection?
- How to Retrieve Multiple Result Sets from a Stored Procedure in JDBC?
- What are class variables in Java?
- What are local variables in Java?
- How to Use Updatable ResultSet in JDBC?