Arrays.sort()方法

定义一个长度为10的数组,str;即String[] str = new Sring[10];
然后然后使用for循环给他赋值,不过只赋前5个值,即str[0]=5;str[1]=4;str[2]=3;str[3]=2;str[4]=1;其他全部为null,用Arrays.sort(str )方法排序。
有空值就会报错,怎么修改?

第1个回答  2012-09-05
先用循环把null转成特殊值再排序。转成多少看你想把null放在什么位置,比如你这里没负数又想把null放前面,那可以转成0。放后面的话可以取个最大的数值。
还有种方法是自己写个Comparator,自己决定比较规则,具体用法百度吧,很多的。
第2个回答  2012-09-05
肯定会报错啦,有十个空间,五个有值。当遍历第六个元素时,这个就和你定义的数组为空时,你却去遍历,肯定会报错的
用ArraList吧 如: ArrayList<String> list = new ArrayList<String>();
这样就不会报空指针异常了
第3个回答  2012-09-05
因为是null自然是空指针异常啦
用list不就结了,反正也能排序本回答被提问者采纳