0

我声明了一个 [2][5] 的字符串数组。直到那时一切都很好。我可以将东西插入数组。

但是当我在数组中插入一个整数值时,'null' 关键字会自动添加到该 int 值之前。

所以假设我将 5 插入 arrayName[1][0]。当我之后打印它时,我得到'null5'。这很奇怪。

你们究竟认为问题是什么。谢谢,C@N。

4

3 回答 3

4

如果您+=用于添加项目,那么我认为这可能会发生。采用String.valueOf()

于 2012-04-05T07:05:57.577 回答
1

我能看到这种情况发生的唯一方法是使用 +=:

String[] a = new String[1];
a[0] += 1;
System.out.println(a[0]);

因为如果你只是使用a[0] = 1;你会得到编译错误。您得到 null5 的原因是因为您将字符串“null”与 5 连接起来:

a[0] = (String) null + 1

所以问题是你想要达到什么目标?只是设置值或添加它?

如果您只想设置它,请使用:

String[] a = new String[1];
a[0] = Integer.toString(1);
System.out.println(a[0]);

如果您确实想附加到它:

String[] a = new String[1];
if (a[0] == null) {
    a[0] = Integer.toString(1);
} else {
    a[0] += 1;
}
System.out.println(a[0]);
于 2012-04-05T07:05:47.840 回答
0

如果您正在使用任何 String 变量,请说myString(作为具有默认值 null 的实例变量)并执行以下操作 -

int i=5;
myString = myString+i;

因为您没有初始化 String mystring 它得到默认值null并与 i 相加。

这可能是其中一种情况。

于 2012-04-05T07:26:26.093 回答