有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在类的所有实例中查找变量的值

我是java新手。我想检查一个类的一个变量的所有实例。如果这个变量在所有情况下都没有特定的值,我将执行下一步。但我不能这么做。e、 g.在我的代码中,如果类命题的所有实例的类型都不是“UserModelMatch”,我将执行“continue”

 Proposition proposition=new Proposition();

      for (Proposition proposition:Proposition)

          if (!proposition.getType().equals("UserModelMatch") {
                     .....do next
            } 

 public class Propositions extends ArrayList<Proposition>{ 
    }

但这段代码检查一个命题,如果它不包含类型“UserModelNoMatch” 它将“做下一步”。但首先,我想检查所有命题的所有类型,它们都在“命题”中,然后如果有任何“UserModelMatch”,那么te propgram将执行下一步


共 (2) 个答案

  1. # 1 楼答案

    伪代码中需要的算法:

    boolean areAllEquals = true
    for each proposition do
        if type != "the value" then
            areAllEquals = false
            break
        endif
    endfor
    if areAllEquals then
        // all types are equals
    else
        // there is at least two different types
    endif
    

    break语句停止父循环迭代

  2. # 2 楼答案

    通常情况下:您需要维护对正在查找的实例的引用,然后对它们进行迭代并检查其成员资格。尝试在类上进行迭代并不像您认为的那样有效

    此外,您还需要修复损坏的代码

    Proposition proposition=new proposition();
    

    资本化很重要。提议!=提议

      for (Proposition proposition:Proposition)
    

    不要对刚刚创建的变量进行阴影处理for (Proposition p: proposition)可能是你想写的,尽管我认为你只是对你可以迭代的内容感到困惑。您还需要有一个要迭代的实例列表,而不仅仅是类型的名称

    最后,使用instanceof关键字,而不是使用反射