踩坑日记(09-22)之 Arrays.sort()排序报空指针错误
2016-09-23 01:18
387 查看
踩坑日记(09-22)之 Arrays.sort()排序报空指针错误
请看以下代码:
这是一个很普通的代码,功能就是
1.先将List转成数组
2.使用Arrays.sort()方法进行排序
3.最后将数组转回List的过程
在使用Arrays.sort()方法时,要特别注意排序的对象中是否会存在null,如果存在null,则程序会报 空指针的错误.
上图的程序就会报空指针,为了避免发现这样低级的错误,首先要对list进行过滤。
在日常的代码中要多注意数据为null的情况,以及代码的规范,一起共勉。
请看以下代码:
public static void sort(){ List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); String[] array = list.toArray(new String[list.size()]); Arrays.sort(array); list = Arrays.asList(array); }
这是一个很普通的代码,功能就是
1.先将List转成数组
2.使用Arrays.sort()方法进行排序
3.最后将数组转回List的过程
在使用Arrays.sort()方法时,要特别注意排序的对象中是否会存在null,如果存在null,则程序会报 空指针的错误.
public static void sort(){ List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add(null); list.add("e"); String[] array = list.toArray(new String[list.size()]); Arrays.sort(array); list = Arrays.asList(array); }
上图的程序就会报空指针,为了避免发现这样低级的错误,首先要对list进行过滤。
public static void sort(){ List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add(null); list.add("e"); list = filterNull(list); String[] array = list.toArray(new String[list.size()]); Arrays.sort(array); list = Arrays.asList(array); } public static List<String> filterNull(List<String> list){ List<String> filterList = new ArrayList<String>(); for(String str : list){ if(str != null){ filterList.add(str); } } return filterList; }
在日常的代码中要多注意数据为null的情况,以及代码的规范,一起共勉。
相关文章推荐
- Arrays.sort()排序报空指针错误
- Arrays.sort 不区分大小写 排序
- Arrays.sort(),collectins.sort()这些排序的方法好像是大小写区分的。大写在前,小写在后。如何大小写不区分排序。
- 由多个Object(以Teacher为例)对象所形成的数组可以使用Arrays.sort方法进行排序(编号由低到高排序)。
- Java数组排序Arrays.sort,以及Comparator接口的用法
- Arrays.sort()对自己定义的类进行排序
- 利用 Arrays.sort 字符串 进行排序 完全按字符 排序 忽略字符大小写
- java Arrays.sort(T[] a, Comparator<? super T> c)调用一个已经封装好的排序规则进行排序
- WinForm中DataGridView使用DataView的Sort排序后删除数据行数错误问题
- java数组排序Arrays.sort,以及结合Comparator接口的用法
- java Arrays.sort()排序
- Arrays.sort 字符串排序
- list排序;arrays.sort使用
- 数组排序Arrays.sort
- Java数组排序Arrays.sort,以及Comparator接口的用法
- 数组排序Arrays.sort方法的使用例子
- Java数组排序Arrays.sort,以及Comparator接口的用法
- [Java]Arrays.sort() 数组排序
- Java数组排序Arrays.sort,以及Comparator接口的用法
- 使用Arrays.sort(..)方法進行排序