在java中如何将整个第二个数组附加到第一个数组
我知道,我们可以复制或附加数组的元素。但是,我在一个数组中有大约100个元素。是否有其他方法可以将数组附加到第一个数组中
认为我有这两个数组。
String name1[]={"abc", "def", "ghi"};
String name2[]={"jkl", "mno", "pqr"};
我想在name1的末尾追加name2数组
请帮帮我
我将非常感谢您的帮助
你可以在下面搜索框中键入要查询的问题!
我知道,我们可以复制或附加数组的元素。但是,我在一个数组中有大约100个元素。是否有其他方法可以将数组附加到第一个数组中
认为我有这两个数组。
String name1[]={"abc", "def", "ghi"};
String name2[]={"jkl", "mno", "pqr"};
我想在name1的末尾追加name2数组
请帮帮我
我将非常感谢您的帮助
# 1 楼答案
您必须创建一个新数组
使用泛型而不使用任何外部库的简单实现:
OBS:正如Louis Wasserman在他的回答中所评论的,Java将向上投射数组,这可能是一个问题。例如,如果您向上面的append方法提供一个Long[]和一个Integer[],它将被编译,但您将在运行时得到一个
java.lang.ArrayStoreException
# 2 楼答案
Guava提供了^{}
之所以使用
Class
参数FYI,是因为泛型数组有明显的向上投射的趋势。如果你做了Arrays.concat(Integer[], Long[])
,你想要回Object[]
吗?还是Number[]
?番石榴让你指定,所以没有歧义。。。而且因为所有的替代方案都可能在运行时导致不可预测的ClassCastException
(披露:我为番石榴捐款。)
# 3 楼答案
您必须创建一个新数组。因为数组的长度是固定的
您可以围绕这两个数组循环,并将每个元素添加到新数组中
您还可以使用ApacheCommonsLang库