我正在使用具有枚举类的第三方库,如下所示:
public enum Version {
VERSION_2_0("v2.0"),
VERSION_2_1("v2.1"),
VERSION_2_2("v2.2")
private final String urlElement;
Version(String urlElement) {
this.urlElement = urlElement;
}
public String getUrlElement() {
return this.urlElement;
}
public boolean isUrlElementRequired() {
return null != this.urlElement;
}
}
我正在从 props 文件中读取版本,我想将其传递给该枚举以获得相应的枚举常量,如下所示:
String str="v2.2"; //this i get from a props file
System.out.println("version enum: "+Version.valueOf(str));
我遇到了以下异常:
Exception in thread "main" java.lang.IllegalArgumentException: No enum constant com.pkg.Version.v2.2
似乎“v2.2”没有被视为单个字符串。我通过转义字符串中的点尝试了几种方法,但它们都不起作用。我正在使用JDK1.7。所以有谁遇到过,请指教。