我得到一个列表,我想添加一个与列表具有相同类型的元素
List<String> list = List.of("a", "b", "c");
String item = "d";
我想从他们两个创建一个不可变的列表
List<String> combined = List.of(list.toArray(new String[0]), item);
以上内容当然不会编译,因为它正在查看2参数重载,其中一个参数是String [],另一个参数是String,并且想要创建一个大小为2的列表。我想要的是使用varargs签名,因此可以将项目以某种方式组合到数组中或“分解”数组,然后结果将与单个参数“合并”。
我尝试了什么?
List<String> arraylist = new ArrayList<>(list);
arraylist.add(item);
List<String> combined = List.copyOf(arraylist);
这是非常低效的。我可以做得更好吗?