我想创建从缩写到完整字符串的映射,例如:
MC - MasterCard
.
我稍后想将该映射用于不知道缩写但只知道完整字符串的 Web 服务。
这些类型的映射应该是枚举还是 HashMap?我可以想到以下解决方案:
对于enum
:
String cc = TypeCreditCard.MASTER.getValue("MC").getFullname();
xml.setOrganisation(cc);
静态HashMap<String, String>
:
String cc = creditCards.get("MC");
xml.setOrganisation(cc);
您更喜欢什么,为什么?
最佳答案
我将它实现为这样的枚举:
public enum CC {
MC("MasterCard"),
V("VISA");
private CC(String fullString) {
this.fullString = fullString;
}
private String fullString;
public String getFullString() {
return this.fullString;
}
public static CC of(String fullString) {
for (CC cc: CC.values()) {
if (cc.getFullString().equals(fullString) {
return cc;
}
}
return null;
}
}
然后,您可以使用
获取完整字符串String fullString = CC.MC.getfullScreen();
并使用
获取缩写CC abbreviation = CC.of("MasterCard");
关于java - 如何将缩写映射到完整字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24238770/