Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包含用于Java枚举的方法_Java - Fatal编程技术网

包含用于Java枚举的方法

包含用于Java枚举的方法,java,Java,我有一个简单的枚举,我正在遍历它以检查它是否包含特定的值。这是我的密码- private static boolean checkCountryCode(CountryCode countryCode) { return Arrays.asList(CountryCodeList.values()).contains(countryCode.name()); } 尽管列表中存在我在请求中传递的国家/地区代码,但它始终返回false。在这种情况下,我不能重写equals,因为它是一个枚举

我有一个简单的枚举,我正在遍历它以检查它是否包含特定的值。这是我的密码-

private static boolean checkCountryCode(CountryCode countryCode) {
    return Arrays.asList(CountryCodeList.values()).contains(countryCode.name());
}
尽管列表中存在我在请求中传递的国家/地区代码,但它始终返回false。在这种情况下,我不能重写equals,因为它是一个枚举。我需要你的意见

方法参数中的countryCode包含我在请求中传递的countryCode。就我而言,它是UA(乌克兰)。CountryCodeList是一个预先填充了应用程序运行所在的所有国家/地区代码的列表。其中一些在本页上-


另外,请注意CountryCode和CountryCodeList都是枚举。

如果CountryCodeList是枚举,您可以将代码重构为枚举

private static boolean checkCountryCode(CountryCode countryCode) {
   try{
      return  CountryCodeList.valueOf(countryCode.name()) != null;
   } catch (java.lang.IllegalArgumentException e) {
      return false;
   }
}

建立一个名到枚举的静态映射,然后在那里检查它。我认为你需要提供更多的相关代码,以便人们帮助你。例如,我们看不到CountryCodeList和CountryCode之间的关系。你可以尝试使用调试器或在该方法中打印一些值,看看这是否能给你答案。我不明白。为什么不只包含(countryCode)?什么是
CountryCodeList
?CountryCodeList包含所有国家代码的列表。正如类的名称所示。我进行了调试,发现它总是返回false。发布
CountryCodeList
CountryCode
的源代码。