java十大低级错误

java十大低级错误

ID:6075198

大小:76.00 KB

页数:14页

时间:2018-01-02

java十大低级错误_第1页
java十大低级错误_第2页
java十大低级错误_第3页
java十大低级错误_第4页
java十大低级错误_第5页
资源描述:

《java十大低级错误》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java十大低级错误1前言本文档根据java开发人员在编码过程中容易忽视或经常出错的地方进行了整理,总结了十个比较常见的低级错误点,方便大家学习。2Java十大低级错误1、不能用“==”比较两个字符串内容相等。2、对list做foreach循环时,循环代码中不能修改list的结构。3、日志和实际情况不一致;捕获异常后没有在日志中记录异常栈。4、魔鬼数字。5、空指针异常。6、数组下标越界。7、将字符串转换为数字时没有捕获NumberFormatException异常。8、对文件、IO、数据库等资源进行操作后没有及时、正确进行释放。9、循环体编码时不考虑性能,循环体中包含不需

2、要的重复逻辑。10、数据类没有重载toString()方法。3解读&案例3.1不能用“==”比较两个字符串内容相等。3.1.1解读两个字符串在比较内容是否相等的时候,如果使用“==”,当两个字符串不是指向内存中同一地址,那么即使这两个字符串内容一样,但是用“==”比较出来的结果也是false。所以两个字符串在比较内容是否相等的时候一定要使用“equals”方法。1.1.1示例下面就是一个字符串比较的例子:publicclassTest{publicstaticvoidmain(String[]args){Stringa=newString("a");Stringa2="a

3、";if(a==a2){System.out.println("a==a2returntrue.");}else{System.out.println("a==a2returnfalse.");}if(a.equals(a2)){System.out.println("a.equals(a2)returntrue.");}else{System.out.println("a.equals(a2)returnfalse.");}}}最终输出的结果为:a==a2returnfalse.a.equals(a2)returntrue.1.2不能在foreach循环中修改list结

4、构1.2.1解读在jdk1.5版以上的foreach循环写法中,不能在循环代码中对正在循环的list的结构进行修改,即对list做add、remove等操作,如果做了这些操作,必须立即退出循环,否则会抛出异常。1.1.1示例publicclassTest{publicstaticvoidmain(String[]args){Listlist=newArrayList();Personp1=newPerson("张三",23);Personp2=newPerson("李四",26);Personp3=newPerson("王五",34);Pe

5、rsonp4=newPerson("刘二",15);Personp5=newPerson("朱六",40);list.add(p1);list.add(p2);list.add(p3);list.add(p4);list.add(p5);for(Personp:list){if("王五".equals(p.getName())){list.remove(p);//不能在此时删除对象。}elseif("李四".equals(p.getName())){list.remove(p);//不能在此时删除对象。}}System.out.println(list.size());}

6、}classPerson{privateStringname;privateintage;publicPerson(Stringname,intage){this.name=name;this.age=age;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}}解决上面代码红色部分的问题,可以通过循环取出对象,然后再循环结束后再

7、进行删除。Listlist=newArrayList();Personp1=newPerson(newString("张三"),23);Personp2=newPerson(newString("李四"),26);Personp3=newPerson(newString("王五"),34);Personp4=newPerson(newString("刘二"),15);Personp5=newPerson(newString("朱六"),40);list.add(p1);list.add(p2);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。