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

标签 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 将是 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/

相关文章:

java - 闪存套接字未正确读取 Java 服务器

JAVA 6 不支持 SNI,有其他方法可以通过 TLS 验证和接受 SSL 证书吗?

java - Android - MediaPlayer 崩溃

java - 如何将 List<class> 放入 JSONObject 然后读取该对象?

java - 从桌面运行可执行文件给我 : *ERR* IO-21 invalid STATUS specifier for given file

java - org.hibernate.boot.registry.classloading.spi.ClassLoadingException : Unable to load class [CredDataTmplEntry] . ..由 : java. lang.VerifyError 引起

java - 在实现主UI线程中可运行的类的方法上设置计时器

java - 解析来自维基百科的 JSON 响应时遇到问题

java - 在 Java 中两次使用相同的列表和流

java - 多个 GWT 页面之间的公共(public)文件