我创建了一个简单的枚举
public interface Params
{
public enum Locale
{
UK("UK"), US("US");
private String value;
private Locale(String value) {
this.value = value;
}
};
....
这是我想要修改的方法,以获取Params.Locale属性。
public void doErrorQuery(Locale locale, String p_listStr)
{
if (p_spellingList == null)
{
result.setError(true);
result.setErrorMessage("Null spelling list");
return;
}
我使用
导入我的Locale枚举import com.Params.Locale;
问题是我无法将其编译,它告诉我它无法解析Locale。即使我使用Params.Locale它也不起作用,无法解析名称。
答案 0 :(得分:0)
你应该为枚举使用自己的枚举类。在我看来这样做会更清洁:
public enum Locale {
UK("UK"), US("US");
private String value;
private Locale(String value) {
this.value = value;
}
}
答案 1 :(得分:0)
暂时忽略设计问题,原始代码没有任何问题。也许你的包装声明出了问题?对我来说,以下代码编译得很好:
<强> Params.java 强>
package com;
public interface Params {
public enum Locale {
UK("UK"), US("US");
private String value;
private Locale(String value) {
this.value = value;
}
}
}
<强> TestClass.java 强>
package com;
import com.Params.Locale;
public class TestClass {
public void test(Locale locale) {
System.out.println("Hello, World!");
}
}