1

これはばかげた質問かもしれませんが、String Arrayをどのように操作しますか?

このようなことをしようとしていますが、起動時にアプリがクラッシュします。

String names [] = null ; 

    names[0]= "I am";
    names[1]= "Ammar";

    Toast.makeText(getApplicationContext(), names[1] , Toast.LENGTH_SHORT).show(); 
4

7 に答える 7

2

他のアレイと同じように、アレイを作成する必要があります

String names[] = new String[size];
于 2013-02-26T06:42:28.527 に答える
1

あなたが使用することができます:

String[] names = new String[2];

names[0] = "I am";
names[1]= "Ammar";

    Toast.makeText(getApplicationContext(), names[1] , Toast.LENGTH_SHORT).show();

文字列配列にメモリを割り当てていないため、エラーが発生している可能性があります。配列にnullを割り当てたため、アプリケーションがクラッシュします。

于 2013-02-26T06:44:03.317 に答える
1
String[] names = { "I am", "Ammar" }; 
于 2013-02-26T06:45:42.713 に答える
1

配列サイズを定義する必要があります。

String name[] = new String[2];

于 2013-02-26T06:43:15.303 に答える
1

配列はメモリの静的割り当ての概念に従っているため、使用する前に必要なメモリまたはサイズを定義する必要があります。

String[] names = new String[10];

于 2013-02-26T06:49:50.497 に答える
0

交換してみてください

String names [] = null ;

String names[] = new String[2]; 
于 2013-02-26T06:42:47.360 に答える
0

これは、オブジェクトのインスタンス化の標準的な問題です。参照を定義する場合は、既存のオブジェクトを指すか、キーワードを使用してオブジェクトへの新しい参照を作成する必要がありますnew

元:

[Class] x = new [Class]()

[Class]インスタンス化/使用したいオブジェクトはどこにありますか。

オブジェクト参照が作成され、インスタンス化されない場合は常に、そのオブジェクトnullに初期化されます。

元:

[Class] x;

この行の後、xには有効なオブジェクト参照(新規または新規でない)がないため、xはnullになります。

于 2013-02-26T06:47:21.377 に答える