102

私はJavaが初めてなので、助けはほとんど必要ありません

私は持っている

String [] scripts = new String [] ("test3","test4","test5");

例として、この配列 (スクリプト) に新しい文字列 (string1,string2) を追加したい

String string1= " test1"
String string2 = "test2"

初期化ではなく後のフェーズで新しい文字列を追加したい

どうすればできますか?

4

5 に答える 5

154

Java で配列のサイズを変更することはできません。

配列のサイズが宣言されると、固定されたままになります。

代わりにArrayList、動的なサイズを持つものを使用できます。つまり、そのサイズを気にする必要はありません。配列リストが新しい値を収容するのに十分な大きさでない場合、自動的にサイズが変更されます。

ArrayList<String> ar = new ArrayList<String>();
String s1 ="Test1";
String s2 ="Test2";
String s3 ="Test3";
ar.add(s1);
ar.add(s2);
ar.add(s3);

String s4 ="Test4";
ar.add(s4);
于 2012-12-31T06:01:19.877 に答える
23

まず、こちらのコード、

string [] scripts = new String [] ("test3","test4","test5");

する必要があります

String[] scripts = new String [] {"test3","test4","test5"};

配列に関するこのチュートリアルをお読みください

2番、

配列は固定サイズであるため、上記の配列に新しい文字列を追加することはできません。既存の値をオーバーライドできます

scripts[0] = string1;

(また)

サイズの配列を作成し、いっぱいになるまで要素を追加し続けます。

サイズ変更可能な配列が必要な場合は、ArrayListの使用を検討してください。

于 2012-12-31T06:01:29.207 に答える
10

一時的な配列を作成する方法を書き留めてから、次のようにコピーする必要があります

public String[] increaseArray(String[] theArray, int increaseBy)  
{  
    int i = theArray.length;  
    int n = ++i;  
    String[] newArray = new String[n];  
    for(int cnt=0;cnt<theArray.length;cnt++)
    {  
        newArray[cnt] = theArray[cnt];  
    }  
    return newArray;  
}  

またはArrayListは、問題の解決に役立ちます。

于 2012-12-31T06:06:06.987 に答える
6

より良い解決策を示唆する答えの多くは、ArrayListを使用することです。ArrayListのサイズは固定されておらず、簡単に管理できます。

これは、リストインターフェイスのサイズ変更可能な配列実装です。すべてのオプションのリスト操作を実装し、nullを含むすべての要素を許可します。このクラスは、Listインターフェイスの実装に加えて、リストを格納するために内部的に使用される配列のサイズを操作するためのメソッドを提供します。

各ArrayListインスタンスには容量があります。容量は、リスト内の要素を格納するために使用される配列のサイズです。常に少なくともリストサイズと同じ大きさです。要素がArrayListに追加されると、その容量は自動的に増加します。

この実装は同期されていないことに注意してください。

ArrayList<String> scripts = new ArrayList<String>();
scripts.add("test1");
scripts.add("test2");
scripts.add("test3");
于 2012-12-31T08:42:45.207 に答える
4

Java 配列は固定数の値を保持するため、この場合は長さ 5 の新しい配列を作成する必要があります。より良い解決策は、ArrayListを使用して、単純に文字列を配列に追加することです。

例:

ArrayList<String> scripts = new ArrayList<String>();
scripts.add("test3");
scripts.add("test4");
scripts.add("test5");

// Then later you can add more Strings to the ArrayList
scripts.add("test1");
scripts.add("test2");
于 2012-12-31T06:06:12.567 に答える