List> cars = new ArrayList<>();
cars.add(List.of("1", "银", "3000"));
cars.add(List.of("2", "White", "4000"));
cars.add(List.of("3", "黑色", "3000"));
cars.add(List.of("4", "White", "3000"));
cars.add(List.of("5", "蓝色", "5000"));
cars.add(List.of("6", "银牌", "2000"));
如果我需要像这样直接与数据一起创建和初始化List>
,如何避免多个“list.add(s)”、多个“List.of”(基本上是多个步骤)?如果我可以用一行代码创建可以吗?
注意:我不是在寻找像 list.add(anotherList) 这样的解决方案。
如果您想坚持使用核心库,则必须编写自己的方法,或者
List.of(List.of(1, 2), List.of(3, 4))
来制作 List<List<Integer>>
。
请注意,提供的示例是有问题的。这个:
cars.add(List.of("1", "Silver", "3000"));
不是这样做的;你会这样做:
class Car {
int id;
PaintColor color;
int amountCents;
}
然后从那里开始。用 lombok 的
@Value
让它变得漂亮或使用唱片。
Java 是高度名义化和显式类型的。它是为您使用命名类型来表示事物而设计的,而不是让所有显式类型变成毫无意义的胡言乱语。它可以编译,但很难维护、测试、编写和阅读。
如果做得好,这个问题就不再相关了。如果你“做对了”,列表列表作为常量不会出现很多,并且在少数地方出现,往往有太多数据,你应该将其粘贴在某种文本文件中并使用一个
static {}
块来读取它。