小编Jac*_*cob的帖子

避免在复杂json创建的hashmap中嵌套

我有一个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).最好的方法是什么?

java java-8

7
推荐指数
1
解决办法
120
查看次数

将类A的对象的每个字段复制到列表中classB的对象的每个字段

我有一个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中

java arraylist java-8

5
推荐指数
1
解决办法
48
查看次数

标签 统计

java ×2

java-8 ×2

arraylist ×1