我有下面的代码,代码没有问题,只是我想知道是否有一种方法可以将两个 try block 合并为一个。
public void populateMap(Map data){
String jsonData1 = readJSON("FILE_1_PATH");
String jsonData2 = readJSON("FILE_2_PATH);
if (StringUtils.isNotBlank(jsonData1)) {
try{
Map<String,String> dataMap = ObjectMapper.readValue(jsonData1,POJO.class);
data.put("file1",dataMap);
}catch(Exception e){
//Handle exception
}
}
if (StringUtils.isNotBlank(jsonData2)) {
try{
Map<String,String> dataMap = ObjectMapper.readValue(jsonData2,POJO.class);
data.put("file2",dataMap);
}catch(Exception e){
//Handle exception
}
}
}
最佳答案
您可以很容易地合并它们,并且不需要 Map
变量,只需将它们的值内联到传递给 data.put()
的参数中即可:
public void populateMap(Map data){
String jsonData1 = readJSON("FILE_1_PATH");
String jsonData2 = readJSON("FILE_2_PATH);
try{
if (StringUtils.isNotBlank(jsonData1)) {
data.put("file1", ObjectMapper.readValue(jsonData1,POJO.class));
}
if (StringUtils.isNotBlank(jsonData2)) {
data.put("file2",ObjectMapper.readValue(jsonData2,POJO.class));
}
}catch(Exception e){
//Handle exception
}
}
请注意,Map
参数是原始类型。倾向于泛型类型而不是。
关于java - 组合从 JSON 加载的两个 Map block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57063328/