Java 将字符串映射到字符串值

Java 将字符串映射到字符串值,java,string,converter,Java,String,Converter,我的问题是: 我有可能的产品分类列表,例如:鞋子、时尚、女人,我需要将其转换为我的特定名称 示例:我得到了女性类别,我需要将其转换为女士类别 我有大约40个类别名称需要转换 我的问题是:在JAVA中实现这一点的最佳方法是什么 我考虑过开关箱,但我不知道这是一个好的解决方案 switch (oldCategoryName) { case "Women": return "Ladys"; default: return "Default"; } 请注

我的问题是:

我有可能的产品分类列表,例如:鞋子、时尚、女人,我需要将其转换为我的特定名称

示例:我得到了女性类别,我需要将其转换为女士类别

我有大约40个类别名称需要转换

我的问题是:在JAVA中实现这一点的最佳方法是什么

我考虑过开关箱,但我不知道这是一个好的解决方案

switch (oldCategoryName) {
    case "Women":
        return "Ladys";
    default:
        return "Default";
}
请注意,对于低于7的java版本,java开关不适用于字符串对象

可以在地图中存储值:

// storing
Map<String, String> map = new HashMap<String, String>();
map.put("Women", "Ladys");
// add other values

// retrieving
String ladys = map.get("Women");
请注意,对于低于7的java版本,java开关不适用于字符串对象

可以在地图中存储值:

// storing
Map<String, String> map = new HashMap<String, String>();
map.put("Women", "Ladys");
// add other values

// retrieving
String ladys = map.get("Women");

您可以使用静态映射来实现这一点。 制作一张静态地图,如下所示

public class PropertiesUtil {
    private static final Map<String, String> myMap;
    static {
        Map<String, String> aMap = new HashMap<String, String>();
        aMap.put("Women", "Ladys");
        aMap.put("another", "anotherprop");
        myMap = Collections.unmodifiableMap(aMap);
    }
}

您可以使用静态映射来实现这一点。 制作一张静态地图,如下所示

public class PropertiesUtil {
    private static final Map<String, String> myMap;
    static {
        Map<String, String> aMap = new HashMap<String, String>();
        aMap.put("Women", "Ladys");
        aMap.put("another", "anotherprop");
        myMap = Collections.unmodifiableMap(aMap);
    }
}

也可以考虑使用枚举:

 public enum ProductsCategory {
        Mode("MyMode"),
        Shoes("MyShoes"); 

        private String name;

        private ProductsCategory(String name) {
            this.name = name;
        }

        public String getName() {
            return name;
        }
    }
然后检索:

String myModeStr = ProductsCategory.Mode.getName();

也可以考虑使用枚举:

 public enum ProductsCategory {
        Mode("MyMode"),
        Shoes("MyShoes"); 

        private String name;

        private ProductsCategory(String name) {
            this.name = name;
        }

        public String getName() {
            return name;
        }
    }
然后检索:

String myModeStr = ProductsCategory.Mode.getName();

非常感谢,我可能会使用属性文件解决方案。添加新类别和进行更改是最简单的。多谢,我可能会选择属性文件解决方案。添加新类别和进行更改是最简单的。多谢,我可能会选择属性文件解决方案。添加新类别和进行更改是最容易的,欢迎您。如果答案有用,你可以投票/接受。非常感谢,我可能会选择属性文件解决方案。添加新类别和进行更改是最容易的,欢迎您。如果答案有用,你可以投票/接受它。