我需要在YAML中转储一些有点复杂的Java对象的列表。为了获得所需的结构,我首先将它们转换为嵌套列表和映射。它有点像:
- item 1
name : value
name : value
- another list
...
- item 2
...
或者在eclipses调试器视图中,[...,...]是一个列表,{name:value,name:value}一个地图,它看起来像[{item1 = {name:value,name:value [ {anotherlist}]} ITEM2 = ...]。 这是一团糟,但它不是那么长,也不难理解,只是单调乏味。
问题是这些块中的一些是可选的,所以我得到一些空列表或空值:
- item 1
null : null
name : []
- item 2
and so on
这很麻烦,无法再次阅读。我无法检查其中一个更高级别的列表或地图,因为它们可能包含空列表,空映射或空值。我不想写 if(value!= null&&!value.isEmpty) 一遍又一遍地。在我看来,我有3个选择:
我可以写
private Map putUnlessNullOrEmpty(Map, Name, Value)
private List addUnlessNullOrEmpty(List, Name, Value)
方法。这就是我所做的,但它看起来非常不合时宜。
我不熟悉Java或编程方面的经验。你觉得怎么样?