java.lang.IllegalArgumentException:没有枚举const类

Wil*_*kar 4 java enums jaxb

我使用JAXB 2来解析XSD架构的XML文件,并在ants构建到Java类期间自动解组XML标签.有些enums是创造的.代码是:

@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);
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中我打电话:

BinQuality bq = BinQuality.valueOf(him.getToBinQuality());
Run Code Online (Sandbox Code Playgroud)

在一个循环中,我只在第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
Run Code Online (Sandbox Code Playgroud)

这看起来真的很神秘.

使用的Java版本是1.5.

欣赏它.

Kai*_*Kai 7

这是因为您的第91个条目没有找到枚举值.失败的String的值是多少?

  • 找到了.第91个数据中有一个尾随空格.:) (4认同)