【发布时间】:2021-10-10 13:42:20
【问题描述】:
我有下面的代码,它工作正常。 在这段代码中,它在 LinkedHashMap 中添加一个元素,然后将该 Map 添加到一个新列表中,最后将该列表添加到另一个 LinkedHashMap 中。 我正在尝试使用 java8 找到一种更好的快捷方式以使其更简单和简短,有什么建议吗?
private Object getData() {
LinkedHashMap<String, String> secondLevelMap = new LinkedHashMap<>();
secondLevelMap.put("href", "http://SomeLink");
List<LinkedHashMap> firstLevelList = new ArrayList<>(2);
firstLevelList.add(null);
firstLevelList.add(secondLevelMap);
LinkedHashMap<String, List<LinkedHashMap>> firstLevelMap = new LinkedHashMap<>();
firstLevelMap.put("links", firstLevelList);
return firstLevelMap;
}
【问题讨论】:
-
对我来说看起来不错,尽管我会观察到您应该返回一些比 Object 更具体的东西,而
List<LinkedHashMap可能应该减少到List<Map>。在更高版本的 Java 中,您有list.of()这可能会有所帮助(尽管它是空敌对的) -
如果里面有单个元素,为什么要
LinkedHashMap?这听起来像XY problem。 -
这对我来说看起来不太好,因为使用了 原始类型。您不应该使用它们,而是提供所有必要的类型参数。