Java – how to get enumeration values from attributes
•
Java
I have an enumeration with values valid and invalid, which has Boolean attributes associated with it I want to get the enumeration value based on the Boolean value I provide
If so, I should get valid. If so, I should get invalid I want to do this in the getter method below based on the value of the member variable
public boolean getCardValidityStatus() { return CardValidationStatus status = CardValidationStatus(this.mCardValidityStatus)); }
My code:
private enum CardValidationStatus { VALID(true),INVALID(false); private boolean isValid; CardValidationStatus(boolean isValid) { this.isValid = isValid; } public boolean getValidityStatus() { return this.isValid; } }
Solution
You can do this using the static lookup method in the enumeration itself:
private enum CardValidationStatus { VALID(true),INVALID(false); //... public static CardValidationStatus forBoolean(boolean status) { //this is simplistic given that it's a boolean-based lookup //but it can get complex,such as using a loop... return status ? VALID : INVALID; } }
And you can retrieve the appropriate status using the following methods:
public CardValidationStatus getCardValidityStatus() { return CardValidationStatus.forBoolean(this.mCardValidityStatus)); }
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码