我使用JAXB 2根据XSD模式解析XML文件,并在ant构建期间将XML标记自动取消编组为Java类。一些枚举
被创建。代码如下:
@XmlType(name = "binQuality")
@XmlEnum
public enum BinQuality {
GOOD,
BAD,
UGLY,
NULL;
public String value() {
return name();
}
public static BinQuality fromValue(String v) {
return valueOf(v);
}
}
在我的代码中,我调用了以下内容:
BinQuality bq = BinQuality.valueOf(him.getToBinQuality());
我在循环中,只有在第91次迭代时才会出现异常。
******* 更新 *******
him.getToBinQuality()
返回有效的枚举值(GOOD/BAD/UGLY/NULL)。以下是日志摘录。
....
2011-07-18 15:28:09 DEBUG (com.st.mas.wmr.persistence.process.ProcessStifOliBinConversionCompleteImpl:183) -> class com.st.mas.wmr.persistence.process.ProcessStifOliBinConversionCompleteImpl|exportToXml|him.getToBin():89|him.getToBinQuality():BAD
2011-07-18 15:28:09 DEBUG (com.st.mas.wmr.persistence.process.ProcessStifOliBinConversionCompleteImpl:183) -> class com.st.mas.wmr.persistence.process.ProcessStifOliBinConversionCompleteImpl|exportToXml|him.getToBin():90|him.getToBinQuality():UGLY
2011-07-18 15:28:09 DEBUG (com.st.mas.wmr.persistence.process.ProcessStifOliBinConversionCompleteImpl:183) -> class com.st.mas.wmr.persistence.process.ProcessStifOliBinConversionCompleteImpl|exportToXml|him.getToBin():91|him.getToBinQuality():BAD
2011-07-18 15:28:09 WARN (org.apache.struts.action.RequestProcessor:538) -> Unhandled Exception thrown: class java.lang.IllegalArgumentException
这看起来非常神秘。
使用的Java版本为1.5。
感激不尽。
Will