instanceof,isinstance,isAssignableFrom説明
860 ワード
instanceof:左オブジェクトが右クラスまたはインタフェースのインスタンス化であるかどうかを検出します.左側がnullの場合はfalseに直接戻ります.
obj instanceofクラス
例:
isInstance:Classクラスのメソッドは、objがクラスまたはインタフェースのインスタンス化であるかどうかを判断します.instanceofと似ています.
クラスclass.isInstance(obj)
isAssignableFrom:このメソッドを呼び出すclassまたはインタフェースがパラメータclsで表されるクラスまたはインタフェースと同じ、またはパラメータclsで表されるクラスまたはインタフェースの親クラスである場合、trueを返します.
クラスclass.isAssignableFrom(クラス2.class)
obj instanceofクラス
例:
String s = new String("aaa");
if(s instanceof String){
System.out.println("true");
}
true
isInstance:Classクラスのメソッドは、objがクラスまたはインタフェースのインスタンス化であるかどうかを判断します.instanceofと似ています.
クラスclass.isInstance(obj)
String s = new String("aaa");
if(String.class.isInstance(s)){
System.out.println("true");
}
true
isAssignableFrom:このメソッドを呼び出すclassまたはインタフェースがパラメータclsで表されるクラスまたはインタフェースと同じ、またはパラメータclsで表されるクラスまたはインタフェースの親クラスである場合、trueを返します.
クラスclass.isAssignableFrom(クラス2.class)
System.out.println(ArrayList.class.isAssignableFrom(Object.class));
false
System.out.println(Object.class.isAssignableFrom(ArrayList.class));
true