これはばかげた質問かもしれませんが、String Arrayをどのように操作しますか?
このようなことをしようとしていますが、起動時にアプリがクラッシュします。
String names [] = null ;
names[0]= "I am";
names[1]= "Ammar";
Toast.makeText(getApplicationContext(), names[1] , Toast.LENGTH_SHORT).show();
これはばかげた質問かもしれませんが、String Arrayをどのように操作しますか?
このようなことをしようとしていますが、起動時にアプリがクラッシュします。
String names [] = null ;
names[0]= "I am";
names[1]= "Ammar";
Toast.makeText(getApplicationContext(), names[1] , Toast.LENGTH_SHORT).show();
他のアレイと同じように、アレイを作成する必要があります
String names[] = new String[size];
あなたが使用することができます:
String[] names = new String[2];
names[0] = "I am";
names[1]= "Ammar";
Toast.makeText(getApplicationContext(), names[1] , Toast.LENGTH_SHORT).show();
文字列配列にメモリを割り当てていないため、エラーが発生している可能性があります。配列にnullを割り当てたため、アプリケーションがクラッシュします。
String[] names = { "I am", "Ammar" };
配列サイズを定義する必要があります。
String name[] = new String[2];
配列はメモリの静的割り当ての概念に従っているため、使用する前に必要なメモリまたはサイズを定義する必要があります。
String[] names = new String[10];
交換してみてください
String names [] = null ;
と
String names[] = new String[2];
これは、オブジェクトのインスタンス化の標準的な問題です。参照を定義する場合は、既存のオブジェクトを指すか、キーワードを使用してオブジェクトへの新しい参照を作成する必要がありますnew
。
元:
[Class] x = new [Class]()
[Class]
インスタンス化/使用したいオブジェクトはどこにありますか。
オブジェクト参照が作成され、インスタンス化されない場合は常に、そのオブジェクトはnullに初期化されます。
元:
[Class] x;
この行の後、xには有効なオブジェクト参照(新規または新規でない)がないため、xはnullになります。