2013-02-26 78 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];

相关问题