如何比较XML枚举和Java枚举?

3
有人知道如何比较下面两个枚举类型吗?
test.XMLResponseType.SUCCESS
@XmlEnumValue(value="Success")

public enum JavaResponseType{
SUCCESS,FAIL
}

我收到了一个来自 Web 服务的响应,其中包含 Success/Fail 标签。
public static final enum test.ResponseType SUCCESS;
 @javax.xml.bind.annotation.XmlEnumValue(value="Success")

public static final enum test.ResponseType FAIL;
 @javax.xml.bind.annotation.XmlEnumValue(value="Fail")

我在我的Java代码中实现了Success/Fail常量,例如:

而我在Java代码中实现了Success/Fail常量,如下所示:

public enum JavaResponseType{
SUCCESS,FAIL
}

现在我想比较两种类型之间的成功/失败,就像我在这里提到的那样。 有没有办法相互比较,或者我应该改变我的实现方式?


ResponseType.name().equals(JavaResponseType.SUCCESS.name())和ResponseType.name().equalsIgnoreCase(JavaResponseType.SUCCESS.name())都能正常工作。 - niket patel
3个回答

0
if (enum1.name().equalsIgnoreCase(enum2.name())) {
    //do your stuff
}

或者

if (JavaResponseType.SUCCES.name().equalsIgnoreCase(enum1.name())) {
    //do your stuff
}

这将始终返回false,因为这些对象来自不同的类。 - Puce
你的答案是正确的,我没有看到这两个不同的类。已更新答案。 - chillworld

0

添加一个与特定枚举进行比较的方法,如下所示

public enum JavaResponseType {
    SUCCESS, FAIL;

    boolean compareWithEnum2(test.XMLResponseType value) {
                  return name().equalsIgnoreCase(value.name());
    }

}

0

您可以使用字符串值进行比较,例如 enum1.name().equals(enum2.name())


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接