2013-02-26 79 views
1

這可能是一個愚蠢的問題,但你如何使用字符串數組?如何使用字符串數組?

我試圖做這樣的事情,但我的應用程序會在啓動時崩潰。

String names [] = null ; 

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

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

你可以發佈logcat嗎? – 2013-02-26 06:41:37

+0

您必須得到** NullPointerException ** – user2060383 2013-02-26 06:45:22

+0

您需要在開始使用它之前定義字符串長度 您正在收到空指針異常或無論數組是否越界異常因爲您的數組大小爲零並且您試圖訪問0 +在數組中未定義的第n個索引,導致您的應用崩潰 – 2013-02-26 06:49:54

回答

0

嘗試用

String names[] = new String[2]; 
2

你必須創建磁盤陣列,就像任何其他陣列

String names[] = new String[size]; 
+0

您的權利我忘記了大小。 – Ammar 2013-02-26 06:45:01

1

更換

String names [] = null ; 

你應該定義數組的大小。

String name[] = new String[2];

1

您可以使用:

String[] names = new String[2]; 

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

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

可能是因爲你還沒有分配的內存字符串數組您收到錯誤。您已將null分配給數組,這就是應用程序崩潰的原因。

1
String[] names = { "I am", "Ammar" }; 
0

這是Object Instantiation的標準問題。如果要定義引用,則必須將其指向已存在的對象使用new關鍵字創建對該對象的新引用。

例:

[Class] x = new [Class]() 

哪裏[Class]是你想要實例/使用對象。

每當一個對象引用被創建並且未被實例化時,那個對象將被初始化爲空。

例:

[Class] x; 

這條線之後,x是零,因爲它不具有有效的對象引用(新的或不是)。

1

數組遵循內存靜態分配的概念,因此您必須在使用它之前定義需要多少內存或大小。

String[] names = new String[10];

相關問題