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

Addev:

对于此示例:

public class Foo{}

public class Bar extends Foo{}

....

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

如何检查quxFoo的实例(而不是其foo子类的实例)?那是:

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

是否有类似instanceof这种检查的声明否则我应该使用qux.getClass().equals(Foo.class)

邓肯·琼斯(Duncan Jones):

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

但是,OO设计的目标是允许您以相同的方式对待任何对象 Foo实例是否为子类在正常程序中应该无关紧要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查对象是否为任何“数字”类的实例?

检查对象是否为给定类名称的List的实例

检查对象是否属于Java中的类

如何检查对象是否是namedtuple的实例?

检查调用对象是否为子类的实例

检查对象是否不是swift类型

如何检查对象是否是特定类的实例?

检查对象是否为任何类列表的实例(Android)

如何检查对象是否为基类类型

如何检查对象是否是Haxe中的泛型实例

JavaScript检查对象是否为当前类的实例

检查对象是否是类的“直接实例”

Python C API:如何检查对象是否是类型的实例

如何检查对象是否是C ++中模板类的实例?

如何检查对象是否为Node.js中的SocketIO.Socket或net.Socket的实例?

typeof类或其任何子类,而不是类的实例

如何检查对象是否为Handle的子类

如何检查对象是否是JavaScript中一组特定原型的实例?

检查对象是否遵守(不是实现)界面

JAVA:如何检查对象数组中的所有对象是否都是子类的对象?

在php中检查对象是否是类的实例,而不是子类的实例

如果对象是类的实例,则对其进行批量添加

如何检查对象是否是 firebase.firestore.FieldValue 的实例

检查子类是否是父类的实例

如何检查对象是否属于实例“Type”?

Java 检查对象是否是类型的实例

检查对象不是打字稿中任何类的实例

Jest 和 Typescript:无法检查对象是否是类的实例

检查对象是否是 Node.JS 中特定对象的实例数组