<span style="color:#cc0000;">特别提醒:在没有确定对象是否为NULL的情况下,调用对象的函数是错误的。</span>
<span style="color:#cc0000;"> 应该改为:if(nums==null)判断后才能使用</span>
</pre><pre>
import java.util.ArrayList;
import java.util.List;
public class C_sumaryRanges{
public List sumaryRanges(int []nums){
if(nums==null){
return null;
}
List<String> list=new ArrayList<>();
int begin=0;
int end=0;
int len=nums.length;
while(end<len){
if(end+1<len && nums[end+1]==nums[end]+1){
end++;
}
else{
if(begin==end){
list.add(Integer.toString(nums[end]));
}else{
list.add(Integer.toString(nums[begin])+"->"+Integer.toString(nums[end]));
}
end=end+1;
begin=end;
}
}
return list;
}
public static void main(String args[]){
C_sumaryRanges cRanges=new C_sumaryRanges();
int nums[]={0,1,2,4,5,7};
int i=0;
List<String> list=cRanges.sumaryRanges(nums);
while(i<list.size()){
System.out.print(list.get(i));
i++;
}
}
}