是否有在 Java 中编写映射文字样式的最佳实践?

2022-09-01 12:22:10

简而言之,如果你想在Java中编写一个例如常量的映射,在例如Python和Javascript中,你会写成一个文字,

T<String,String> CONSTANTS =
{
    "CONSTANT_NAME_0": CONSTANT_VALUE_0 ,
    "CONSTANT_NAME_1": CONSTANT_VALUE_1 ,
    "CONSTANT_NAME_2": CONSTANT_VALUE_2 ,
    //...
} ;

有没有一个或任何预设,你可以用它来编写这样的数据结构?ClassObject


答案 1

我喜欢这样做:

Map map = new HashMap() {{
    put("foo", "bar");
    put(123, 456);
}};

双精度 {{ }} 是实例初始化块。它们有点不寻常,但它们很有用。无需图书馆或帮手。


答案 2

不,Java 没有映射文本。最接近这一点的是使用Google Collections的ImmutableMap

Map<K,V> CONSTANTS = ImmutableMap.of(
    NAME_1, VALUE_1,
    NAME_2, VALUE_2
    //etc.
  );