instanceof
操作符是用来做什么的?我见过像这样的东西
if (source instanceof Button) {
//...
} else {
//...
}
但这一切对我来说都没什么意义。我已经做了研究,但只提出了一些例子,没有任何解释。
发布于 2014-05-08 22:55:37
此运算符允许您确定对象的类型。它返回一个boolean
值。
例如
package test;
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
public class instanceoftest
{
public static void main(String args[])
{
Map m=new HashMap();
System.out.println("Returns a boolean value "+(m instanceof Map));
System.out.println("Returns a boolean value "+(m instanceof HashMap));
System.out.println("Returns a boolean value "+(m instanceof Object));
System.out.println("Returns a boolean value "+(m instanceof Date));
}
}
输出为:
Returns a boolean value true
Returns a boolean value true
Returns a boolean value true
Returns a boolean value false
发布于 2011-09-06 07:29:48
如果source
是一个object
变量,那么instanceof
就是一种检查它是否是Button
的方法。
发布于 2014-12-14 02:42:16
public class Animal{ float age; }
public class Lion extends Animal { int claws;}
public class Jungle {
public static void main(String args[]) {
Animal animal = new Animal();
Animal animal2 = new Lion();
Lion lion = new Lion();
Animal animal3 = new Animal();
Lion lion2 = new Animal(); //won't compile (can't reference super class object with sub class reference variable)
if(animal instanceof Lion) //false
if(animal2 instanceof Lion) //true
if(lion insanceof Lion) //true
if(animal3 instanceof Animal) //true
}
}
https://stackoverflow.com/questions/7313559
复制相似问题