1. The instanceof operator is used to indicate whether an object is an instance of a specific class at runtime. instanceof returns a Boolean value indicating whether the object is an instance of this specific class or a subclass of it.
Usage:
result = object instanceof class
Parameters:
result: required. Any variable.
object: required. Any object expression.
class: required. Any defined object class.
Description:
If object is an instance of class, the instanceof operator returns true. If object is not an instance of the specified class, or object is null, false is returned.
For example:
Boolean b; String str = "foo"; b = ( str instanceof String ); // true b = ( str instanceof Object ); // also true b = ( str instanceof Date ); // false, not a Date or subclass
Note:
1) The null value is not an instance of any object, so the following example returns false, regardless of whether the variable is declared what type.
String s = null; if ( s instanceof String ) // false, won't happen
2) instanceof can also correctly report whether an object is an array and a specific interface type.
if ( foo instanceof byte[] )
2. Use getClass to determine
We know that everything in Java is an object. The objects we generally use are directly or indirectly inherited from Object kind. The Object class contains a method called getClass, which can be used to obtain the type class of an instance.
After obtaining the type class, you can call some of the methods to obtain the type information. The main methods are:
getName():String: Get the full name of the type.
getSuperClass():Class: Get the direct parent class of this type. If the type has no direct parent class, return null.
getInterfaces():Class[]: Get all interfaces implemented by this type.
isArray():boolean: Determine whether the type is an array.
isEnum():boolean: Determine whether the type is an enumeration type.
isInterface():boolean: Determine whether the type is an interface.
isPrimitive():boolean: Determine whether the type is a basic type, that is, whether it is int, boolean, double, etc.
isAssignableFrom(Class cls):boolean: Determine whether this type is the parent (ancestor) class or parent (ancestor) interface of type cls.
getComponentType():Class: If the type is an array, return the component type of the array.
For more java knowledge, please pay attention to java basic tutorial.
The above is the detailed content of Java determines whether the object is of type string. For more information, please follow other related articles on the PHP Chinese website!