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");

}

}

请注意,如果你必须经常使用该运算符,通常表明你的设计存在一些缺陷。因此,在设计良好的应用程序中,你应尽可能少使用该运算符(当然,该通用规则也有例外)。

以上是 Java中“ instanceof”的使用 的全部内容, 来源链接: utcz.com/qa/410516.html

回到顶部