2014-01-13 94 views
3

有誰知道如何比較下面的兩個枚舉?如何比較XML枚舉和Java枚舉?

test.XMLResponseType.SUCCESS 
@XmlEnumValue(value="Success") 

public enum JavaResponseType{ 
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代碼像失敗不變

public enum JavaResponseType{ 
SUCCESS,FAIL 
} 

現在我想比較兩種類型之間的成功/失敗,就像我在這裏提到的那樣。 有什麼辦法可以與對方比較,或者我應該改變我的實施?

+0

ResponseType.name()。等於(JavaResponseType.SUCCESS.name())和ResponseType.name()。equalsIgnoreCase(JavaResponseType.SUCCESS.name())BO th工作正常。 –

回答

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

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

好吧,這將始終返回false,因爲對象來自不同的類。 – Puce

+0

你的正確,沒有看到2個不同的類。更新了答案 – chillworld

0

可以使用字符串值compaire像enum1.name()。等於(enum2.name())

0

添加特定枚舉比較法如以下

public enum JavaResponseType { 
    SUCCESS, FAIL; 

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

}