![](/img/trans.png)
[英]What type of array do I use if I want to set the size of the array and I want nulls in the empty spots
[英]what is the data type that i want to use when merging Array when i merge String array and Integer Array into merge Array
我有一個字符串數組和整數數組,
String[] strArray={"a","b","c"};
Integer[] intArray={1,2,3};
我想兩個合並到另一個數組。什么是合並數組的數據類型?我如何實現合並數組?
在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];
}
第一直覺對我來說:
在Java中,你只需要一個容器類型,如果你想混合兩種類型,你必須創建一些抽象,比如一個接口,或者創建另一種方法來將你的字符串與你的整數相關聯。
但
考慮@kimdung答案,如果你只是想混合兩個數組,只是這個 ,如果你不關心其他任何事情。
你需要使用對象類型數組,就像在你的情況下你使用整數包裝器對象和字符串,它可以合並為java中的對象
創建一個Sting數組並將它們合並到該數組中,您必須在合並時將Integer轉換為String,並在為任何目的檢索時將其轉換為Converse
for(int i=0; i<intArray.length; i++) {
mergerArray[i] = String.value(intArray[i]);
}
你可以使用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 );
您可以更改為所需類型(如String
,而不是鍵入Object
。
無法連接兩個差異類型數組。 但我想建議您使用實例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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.