请看下面的数组编程:
public class array {
public static <t> void main(String[] args) {
String str[]= new String[5];
str[0]= "aaa";
str[1]= "bbb";
str[3]= "ccc";
str[3]= "ddd";
str[4]= "eee";
for (int x=0; x<str.length; x++)
System.out.println(str[x]);
}
}
output:
aaa
bbb
null
ddd
eee
问题是..为什么它显示输出&#39; null&#39;对于第三个数据而不是&#34; ccc&#34;。以及显示第4个数据的原因。
答案 0 :(得分:2)
您想要更改
str[3]= "ccc";
到
str[2]= "ccc";
首先你存储了&#34; ccc&#34;在str[3]
。然后你存储了#34; ddd&#34;在同一个索引中。因此,该数组不再具有对&#34; ccc&#34;的引用。您从未向str[2]
分配任何内容,这就是null
的原因。
答案 1 :(得分:0)
你缺少索引2,这就是索引2没有值的原因。
如果你正在创建字符串数组,那么如果null
这就是为什么索引2打印null
值的原因,那么它的defoult值。
String str[]= new String[5];
str[0]= "aaa";
str[1]= "bbb";
str[2]= "ccc"; // change 3 index to 2
str[3]= "ddd";
str[4]= "eee";