如果有一个变量= x的类的实例

时间:2013-06-14 23:10:24

标签: java

我想要做的是检查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将是ArrayList中的静态Dude引用,它会为每个构造函数添加Dude实例,我想您知道这个技巧。

但我想知道是否有更简单的方法?这似乎有点草率。因为我可能有138174917 Dude实例,只有一两个是Fat

1 个答案:

答案 0 :(得分:3)

如果你不想这样迭代,那么最好的办法就是对那些“胖”的类进行外部计数。通常你会在类中做一个静态变量,你应该增加该变量的setter中的计数。

public class Dude{
    static int nFats = 0;

    public void setFat(){
        Dude.nFats++;
    }
}

如果您想要更安全(在这种情况下可能更正确),您还可以使用专为线程安全计数器设计的AtomicInteger