当我将String数组和整数数组合并到合并数组中时合并数组时我想要使用的数据类型是什么

时间:2017-06-08 04:24:47

标签: java arrays string integer

我有一个字符串数组和整数数组,

String[] strArray={"a","b","c"};
Integer[] intArray={1,2,3};

我想将两个合并到另一个数组中。合并数据的数据类型是什么?我是如何实现合并数组的?

6 个答案:

答案 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);