如何将枚举的所有值与java中给定的数组进行比较?
我有一个具有以下值的枚举类:如何将枚举的所有值与java中给定的数组进行比较?,java,arrays,enums,Java,Arrays,Enums,我有一个具有以下值的枚举类: enum carBrand{BMW,HONDA,MERC,AUDI}; 还有一个名为Sales的数组,其中包含数组值: sales[] = {CHEVVY, BMW , MERC, AUDI}; 那么,我如何检查sales[]是否具有enum carBrand的所有值 我尝试将其放入for循环中,如下所示: for(int i = 0; i<sales.length;i++){ if(carBrand.sales == sales[i])
enum carBrand{BMW,HONDA,MERC,AUDI};
还有一个名为Sales的数组,其中包含数组值:
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;
}
for(int i=0;i
- 将carBrand值添加到列表中
- 循环销售,从列表中删除carBrand
- 检查列表是否为空,如果为空,则检查它们是否具有所有值
注意:类名应该是PascalCase(CarBrand,Sales)中的名称。我个人建议使用列表对象,而不是数组,但这应该可以
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;
}
其中“array”参数将作为代码中的sales
对象调用
如果数组中不存在所有枚举值,则此代码将返回false
离题:
像这样的事情实际上在互联网上到处都有——在这里,谷歌,甚至Bing(就像Bing一样的garbo),所以在请求帮助之前搜索,可能是一个可行的选择公共类枚举{
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);
}
}
}
}
enum carBrand{宝马、本田、美世、奥迪};
公共静态void main(字符串[]args){
字符串销售[]={“雪佛兰”、“宝马”、“美世”、“奥迪”};
对于(carBrand品牌:carBrand.values()){
布尔值=假;
对于(int i=0;iOne可能性:从sales创建一个集合,删除所有CarBrands
,检查剩余集合是否为空(起始集合大小为4)。另一种可能性是使用布尔值的EnumMap,在sales上迭代,将当前键的布尔值设置为true,并在循环检查EnumMap中是否没有false之后。