我想要做的是检查 Dude 类的多个实例(例如)中的至少一个实例是否具有某个变量的特定值,例如
public boolean isFat(Dude d) {
// checks weight and returns boolean
}
...
for (i = 0; i < DudeList.size(); i++) {
if (isFat(DudeList.get(i)) {
//do your stuff
}
}
DudeList
将是 Dude
中的静态 ArrayList
引用,它为每个构造函数添加一个 Dude
实例,我我认为你知道其中的窍门。
但是我想知道是否有更简单的方法?这看起来有点草率。因为我可能有 138174917 Dude 实例,但只有一两个是 Fat
最佳答案
如果您不想像这样进行迭代,那么最好的办法可能是对那些“胖”类进行外部计数。通常,您会在类中使用静态变量来执行此操作,并且应该增加该变量的 setter 中的计数。
public class Dude{
static int nFats = 0;
public void setFat(){
Dude.nFats++;
}
}
如果您想更安全(在这种情况下可能更正确),您也可以使用 AtomicInteger这是专门为线程安全计数器设计的。
关于java - 如果一类的一个实例的变量=x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17118550/