我声明了一个 [2][5] 的字符串数组。直到那时一切都很好。我可以将东西插入数组。
但是当我在数组中插入一个整数值时,'null' 关键字会自动添加到该 int 值之前。
所以假设我将 5 插入 arrayName[1][0]。当我之后打印它时,我得到'null5'。这很奇怪。
你们究竟认为问题是什么。谢谢,C@N。
如果您+=
用于添加项目,那么我认为这可能会发生。采用String.valueOf()
我能看到这种情况发生的唯一方法是使用 +=:
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]);
如果您正在使用任何 String 变量,请说myString(作为具有默认值 null 的实例变量)并执行以下操作 -
int i=5;
myString = myString+i;
因为您没有初始化 String mystring 它得到默认值null并与 i 相加。
这可能是其中一种情况。