我了解到Java有instanceof
操作符.你能详细说明一下它的用途和优点吗?
我了解到Java有instanceof
操作符.你能详细说明一下它的用途和优点吗?
基本上,判断对象是否是特定类的实例.
例子:
public void doSomething(Number param) {
if( param instanceof Double) {
System.out.println("param is a Double");
}
else if( param instanceof Integer) {
System.out.println("param is an Integer");
}
if( param instanceof Comparable) {
//subclasses of Number like Double etc. implement Comparable
//other subclasses might not -> you could pass Number instances that don't implement that interface
System.out.println("param is comparable");
}
}
请注意,如果您必须经常使用该运算符,这通常意味着您的设计存在一些缺陷.因此,在一个设计良好的应用程序中,您应该尽可能少地使用该运算符(当然,一般规则也有例外).