1

这可能是一个愚蠢的问题,但是您如何使用字符串数组?

我正在尝试做这样的事情,但我的应用程序会在启动时崩溃。

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[10];

于 2013-02-26T06:49:50.497 回答
1

你应该定义数组大小。

String name[] = new String[2];

于 2013-02-26T06:43:15.303 回答
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 回答
0

这是对象实例化的标准问题。如果你要定义一个引用,你必须要么将它指向一个已经存在的对象,要么使用new关键字创建一个对该对象的新引用。

前任:

[Class] x = new [Class]()

[Class]您要实例化/使用的对象在哪里。

每当创建对象引用但未实例化时,该对象被初始化为 null。

前任:

[Class] x;

在这一行之后, x 将为空,因为它没有有效的对象引用(无论是否新)。

于 2013-02-26T06:47:21.377 回答
0

尝试更换

String names [] = null ;

String names[] = new String[2]; 
于 2013-02-26T06:42:47.360 回答