我有一个hashmap,它具有String和object的键值对.这是json以下的转换.
{
"test1": {
"test2": {
"test3": {
"key": "value"
},
"somefields12": "some value2"
},
"somefields": "some value"
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我没有转换为地图.我只有那张地图.如果这可能有关键和值,我必须根据该值编写一些逻辑.我实现如下:
if (map.containsKey("test1") ) {
final HashMap<String, Object> test1 = (HashMap<String, Object>) map.get("test1");
if (test1.containsKey("test2")) {
final List<Object> test2 = (List<Object>) test1.get("test2");
if (!test2.isEmpty()) {
final HashMap<String, Object> test3 = (HashMap<String, Object>) test2.get(0);
if (test3.containsKey("key")) {
final String value = String.valueOf(test2.get("key"));
if (!StringUtils.isBlank(value)) {
//do some work based on value
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想避免从我的代码中嵌套if(多个ifs).最好的方法是什么?
我有一个ClassA对象列表(例如字段:id,name,phone),需要将每个字段设置为另一个ClassB对象列表(字段:studentId,studentName和studentPhone).Java 8中有一个简单的方法吗?基本上,ClassA是我的DTO,ClassB是DAO对象.例如:
List<ClassA> list1 = new ArrayList<>();
list1.add(new ClassA(12,"John","1111111111"))
List<ClassB> list2 = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
在这里,我想将ClassA的每个元素设置为ClassB对象并添加到list2中