在 Java 中使用“instanceof”
2022-08-31 05:07:06
基本上,您检查对象是否是特定类的实例。当您对具有超类或接口类型的对象具有引用或参数并且需要知道实际对象是否具有其他类型(通常更具体)时,通常使用它。
例:
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");
}
}
请注意,如果您必须经常使用该运算符,则通常暗示您的设计存在一些缺陷。因此,在设计良好的应用程序中,您应该尽可能少地使用该运算符(当然,该一般规则也有例外)。