我有一个看起来像这样的类:
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/