Java:使用预定义键创建映射

本文将引导您完成使用固定(预定义)键集创建Map的精益方法。
选择一:使用Lombok和Jackson
用这种方法,我们将创建一个简单的类。此类将具有一组预定义字段。一旦创建了此类的对象,我们就可以使用Jackson来从该对象创建地图。
这是该课程的代码段:
Java

1
@Builder
2
@Getter
3
class ClassWithPredefinedKeys {
4
private String prop1;
5
private String prop2;
6
}
我们可以使用BuilderLombok 的 注释来获得更简洁的语法。该 Getter注释允许Jackson访问属性的值。
这是实现的代码段:
Java

1
ClassWithPredefinedKeys builder
2
= ClassWithPredefinedKeys
3
.builder()
4
.prop1(“value3”)
5
.prop2(“value4”)
6
.build();
7

8
ObjectMapper mapper = new ObjectMapper();
9
System.out.println(mapper.convertValue(builder, Map.class));
选项二:使用Lombok和Enum
在这个选项中,我们将使用一个枚举来预定义键。
这是该类的摘要:
Java

1
@Builder
2
class ClassWithKeysInEnum {
3

4
public enum Properties {
5
prop1,
6
prop2
7
}
8

9
@Singular
10
private Map<Properties,String> properties;
11

12
public Map<String, String> getProperties(){
13
Map<String, String> stringProperties = new HashMap<String, String>();
14
this.properties.forEach((key,value) -> {
15
stringProperties.put(key.toString(), value);
16
});
17
return stringProperties;
18
}
19

20
}
该 Singular注释也属于Lombok。它允许使用更易于理解的语法来构建集合(包括地图)。
这是使用这种方法创建地图的方法:
Java

1
System.out.println(
2
ClassWithKeysInEnum
3
.builder()
4
.property(Properties.prop1, “value1”)
5
.property(Properties.prop2, “value2”)
6
.build()
7
.getProperties()
8
);
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。Java:使用预定义键创建映射