gpt4 book ai didi

java - 检查对象是否是类的实例(但不是其子类的实例)

转载 作者:IT老高 更新时间:2023-10-28 20:49:47 26 4
gpt4 key购买 nike

对于这个例子:

public class Foo{}

public class Bar extends Foo{}

....

void myMethod(Foo qux){
if (checkInstance(qux,Foo.class)){
....
}
}

如何检查 qux 是否是 Foo 的实例(但不是 foo 的子类的实例)?那就是:

  • checkInstance(qux,Foo.class)=true
  • checkInstance(qux,Bar.class)=false

是否有类似 instanceof 之类的语句用于此检查?或者我应该使用 qux.getClass().equals(Foo.class)

最佳答案

如果您必须这样做,唯一的方法是您建议的 getClass().equals(Foo.class) 选项。

然而,OO 设计的目标是让你以同样的方式对待any Foo。实例是否是子类在普通程序中应该是无关紧要的。

关于java - 检查对象是否是类的实例(但不是其子类的实例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com