Java-有空值(NULL) JSONArray按字段排序(空值在最後)

        JSONArray jsonArray = new JSONArray();

        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("testField",4.12);
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("testField",4.18);
        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("testField",5.19);
        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("testField",null);

        jsonArray.add(jsonObject1);
        jsonArray.add(jsonObject2);
        jsonArray.add(jsonObject3);
        jsonArray.add(jsonObject4);

        jsonArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getBigDecimal("testField"),Comparator.nullsLast(BigDecimal::compareTo)));
        System.out.println("正序:");
        System.out.println(jsonArray);
        jsonArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getBigDecimal("testField"),Comparator.nullsFirst(BigDecimal::compareTo)).reversed());
        System.out.println("倒序:");
        System.out.println(jsonArray);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章