Java:获取类中的所有对象

标签 java class object

我有一个看起来像这样的类:

public class Items {
    String uselessText;
    public static final Item COW = new Item("text", 0);
    public static final Item CAT = new Item("abc", 1);
    public static final Item DOG= new Item("wow", 2);
        ...SO on

    public void search(String search) {
          for(every Item in this Class) {
              if(item.textString == "abc") {
                 //DO SOMETHING
              }
          }

        }

这可能吗?不,谢谢,我不想做一个数组(因为我有超过 100 个项目,我希望它们静态访问)

有什么想法吗?

干杯

最佳答案

如果您可以在编译时列出该类的所有可能实例,use an enum .

public enum Items {

    COW("text", 0),
    CAT("abc", 1),
    DOG("wow", 2),
    // ...
    ;

    private final String textString;
    private final int number;

    private Item(String textString, int number) {
        this.textString = textString;
        this.number = number;
    }

    public void search(String search) {
        for(Item : values()) {
            if("abc".equals(item.textString)) {
                //DO SOMETHING
            }
        }
    }
}

关于Java:获取类中的所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588041/

相关文章:

java - 我如何确定应用程序中的特定对象不再使用?

java - GZIPOutputStream 在单独的线程中进行压缩

java - Grails/Spring 集成应用程序中出现意外的 Unicode 转换

jquery - 点击获取id

javascript - ngModel的深层对象创建机制

java - 将本地对象数组复制到要由其他静态方法访问的实例化对象数组

java - 使用 Android Studio 从 Firebase 读取节点标题

java - 如何从firebase中child的引用中获取key

Javascript removeEventListener 不在类中工作

java - “找不到或加载主类”是什么意思?