簡體   English   中英

當我將String數組和整數數組合並到合並數組中時合並數組時我想要使用的數據類型是什么

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM