1、instanceof 运算符是用来在运行时指出对象是不是是特定类的一个实例。instanceof经由过程返回一个布尔值来指出,这个对象是不是是这个特定类或许是它的子类的一个实例。
用法:
result = object instanceof class
参数:
result:必选项。恣意变量。
object:必选项。恣意对象表达式。
class:必选项。恣意已定义的对象类。
申明:
假如 object 是 class 的一个实例,则 instanceof 运算符返回 true。假如 object 不是指定类的一个实例,或许 object 是 null,则返回 false。
比方:
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
注重:
1)null值不是任何对象的实例,所以下面这个例子返回了false,不管这个变量声明的是什么范例。
String s = null; if ( s instanceof String ) // false, won't happen
2)instanceof也能够准确的报告一个对象是不是是数组和特定的接口范例。
if ( foo instanceof byte[] )
2、运用getClass推断
我们晓得在Java中一切都是对象,我们平常所运用的对象都直接或间接继续自Object类。Object类中包括一个要领名叫getClass,应用这个要领就能够取得一个实例的范例类。
在取得范例类以后,你就能够挪用个中的一些要领取得范例的信息了,重要的要领有:
getName():String:取得该范例的全称称号。
getSuperClass():Class:取得该范例的直接父类,假如该范例没有直接父类,那末返回null。
getInterfaces():Class[]:取得该范例完成的一切接口。
isArray():boolean:推断该范例是不是是数组。
isEnum():boolean:推断该范例是不是是罗列范例。
isInterface():boolean:推断该范例是不是是接口。
isPrimitive():boolean:推断该范例是不是是基础范例,即是不是是int,boolean,double等等。
isAssignableFrom(Class cls):boolean:推断这个范例是不是是范例cls的父(先人)类或父(先人)接口。
getComponentType():Class:假如该范例是一个数组,那末返回该数组的组件范例。
更多java学问请关注java基础教程。
以上就是java推断对象是不是是string范例的细致内容,更多请关注ki4网别的相干文章!