我有一个字符串数组和整数数组,
String[] strArray={"a","b","c"};
Integer[] intArray={1,2,3};
我想将两个合并到另一个数组中。合并数据的数据类型是什么?我是如何实现合并数组的?
答案 0 :(得分:6)
在Java中,String和Integer都是从Object继承的。因此,您可以使用Object类型来定义常规数组。
String[] strArray = { "a", "b", "c" };
Integer[] intArray = { 1, 2, 3 };
Object[] arr = new Object[strArray.length + intArray.length];
int j = 0;
for (int i = 0; i < strArray.length; i++) {
arr[j++] = strArray[i];
}
for (int i = 0; i < intArray.length; i++) {
arr[j++] = intArray[i];
}
答案 1 :(得分:2)
第一直觉是我:
在Java中你可以有一个容器类型,如果你想混合两种类型,你必须创建一些抽象,比如一个接口,或者创建另一种方法来将你的字符串与你的整数相关联。
但是
考虑@kimdung答案,如果你只想混合两个数组而只是这个,如果你不关心其他任何事情。
答案 2 :(得分:0)
你需要使用对象类型数组,因为在你的情况下你使用整数包装器对象和字符串,它可以在java中作为对象合并
答案 3 :(得分:0)
创建一个Sting数组并将它们合并到该数组中,您必须在合并时将Integer转换为String,并在为任何目的检索时将其转换为
for(int i=0; i<intArray.length; i++) {
mergerArray[i] = String.value(intArray[i]);
}
答案 4 :(得分:0)
您可以使用System.arraycopy();
String[] strArray={"a","b","c"};
Integer[] intArray={1,2,3};
Object[] objArray = new Object[strArray.length + intArray.length];
System.arraycopy( strArray, 0, objArray, 0, strArray.length );
System.arraycopy( intArray, 0, objArray, strArray.length, intArray.length );
您可以更改为所需的类型,例如Object
。
String
答案 5 :(得分:0)
无法连接两个差异类型数组。但我想建议您使用实例java.util.ArrayList而不是数组。例如,您可以加入这两个不同的数组。
ArrayList<Character> strArr= new ArrayList<Character>();
strArr.add(new Character('a'));
strArr.add(new Character('b'));
strArr.add(new Character('c'));
ArrayList<Character> intArr= new ArrayList<Character>();
intArr.add(new Character('1'));
intArr.add(new Character('2'));
intArr.add(new Character('3'));
//merge two arrays
strArr.addAll(intArr);