Java 循环遍历枚举
我正在遍历一个枚举以找到某个值。如果找到它,它将继续该程序。否则,它将关闭程序。我当前的算法是检查所有值是否相等,而不是在一个值相等时继续。如果它找到一个相等的值,我如何使它继续Java 循环遍历枚举,java,enums,Java,Enums,我正在遍历一个枚举以找到某个值。如果找到它,它将继续该程序。否则,它将关闭程序。我当前的算法是检查所有值是否相等,而不是在一个值相等时继续。如果它找到一个相等的值,我如何使它继续 public enum stuff{ // apple("apple.png"), banana("banana.png"), spinach("spinach.png"); // //Variables private String Path;
public enum stuff{
//
apple("apple.png"),
banana("banana.png"),
spinach("spinach.png");
//
//Variables
private String Path;
//Constructor
Enemies (String path) {
Path = path;
}
public String getPath() {
return Path;
}
}
在另一个类中完成的实际加载
String stuffType = banana;
for (stuff s : stuff.values()) {
if(stuffType != s.name()){ //checks if any are a banana
System.exit(0);
}
}
可以使用循环,也可以使用
valueOf
方法,该方法已按名称查找枚举常量,如果没有具有该名称的枚举常量,则抛出IllegalArgumentException
String stuffType = "banana";
try {
stuff.valueOf(stuffType);
} catch(IllegalArgumentException e) {
// stuff doesn't contain an enum constant with a name that matches the value of stuffType
System.exit(0);
}
谢谢,有人展示的第一种方法(有人删除了它)对我有用。我添加了一个“completedSearch”布尔值。我的第一个方法是什么?其他人发布了一条,然后删除了它,但那不是我。