我有一个带有值的枚举类:
enum carBrand{BMW,HONDA,MERC,AUDI};
还有一个名为Sales with Array values的数组:
sales[] = {CHEVVY, BMW , MERC, AUDI};
那我怎么能检查sales []是否包含enum carBrand的所有值?
我试图把它放在for循环中:
for(int i = 0; i<sales.length;i++){
if(carBrand.sales == sales[i]){
return true;
}
return false;
}
答案 0 :(得分:0)
注意:类名应该是PascalCase(CarBrand,Sales)中的名称
答案 1 :(得分:0)
我个人建议使用列表对象而不是使用它的数组,但是,这应该可行。
public static boolean checkArray(carBrand[] array) {
for (carBrand c : carBrand.values()) {
boolean found = false;
for (carBrand a : array) {
if (a == c) {
found = true;
break;
}
}
if (!found) {
return false;
}
}
return true;
}
&#34;数组&#34;参数将作为代码中的sales
对象调用。
如果数组中不存在每个枚举值,则此代码将返回false。
题外话: 像这样的东西实际上遍布互联网 - 这里,谷歌,甚至Bing(就像Bing一样),所以在请求帮助之前进行搜索,可能是一个可行的选择
答案 2 :(得分:0)
public class Enumeration {
enum carBrand{BMW,HONDA,MERC,AUDI};
public static void main(String[] args) {
String sales[] = {"CHEVVY", "BMW" , "MERC", "AUDI"};
for(carBrand brand:carBrand.values()) {
boolean bran=false;
for(int i=0;i<sales.length;i++) {
if(brand.toString()==sales[i]) {
bran=true;
break;
}
}
if(!bran==true) {
System.out.println("Sales doesn't have " +brand);
}
}
}
}