gpt4 book ai didi

java - 测试一个对象并确定它是否属于 x 类

转载 作者:行者123 更新时间:2023-12-01 07:29:07 24 4
gpt4 key购买 nike

我正在尝试编写一个方法来迭代 ArrayList然后判断里面存储的对象是否是 ClassA 之一或ClassB (这些类扩展类类型),如果它们是,则 int变量 ( counter ) 将递增,并且 ClassA 的计数+ ClassB对象将被返回。

我正在尝试做类似的事情:

for(Types type : typeList) {
if( type.getClass().equals(ClassA) || (type.getClass().equals(ClassB) ) {
counter++;
}
}
return counter;

但是,这是错误的。非常感谢任何有关如何执行此操作的指导。我想我可以创建 ClassA 的“虚拟”对象和ClassB进行比较,但是必须有更好的方法来做到这一点?

谢谢。

最佳答案

for(Types type : typeList) {
if( type.getClass().equals(ClassA.class) || (type.getClass().equals(ClassB.class) ) {
counter++;
}
}
return counter;

或者最好

for(Types type : typeList) {
if(type instanceof ClassA || type instanceof ClassB) {
counter++;
}
}
return counter;

编辑:我必须指出这两种方式之间的区别。第一个不计算 ClassAClassB 的任何子类。第二个是。首先,如果您想计算子类的数量,请使用 isInstance 而不是 equals

关于java - 测试一个对象并确定它是否属于 x 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19763240/

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