当前位置: 首页 > news >正文

全flash网站制作教程品牌设计书籍

全flash网站制作教程,品牌设计书籍,cc域名做门户网站,seo免费推广java避免空指针异常空指针异常是Java中最常见#xff0c;最烦人的异常。 在这篇文章中#xff0c;我想避免这种不希望的异常。 首先让我们创建引发空指针异常的示例 private Boolean isFinished(String status) { if (status.equalsIgnoreCase(Finish)) { ret… java避免空指针异常 空指针异常是Java中最常见最烦人的异常。 在这篇文章中我想避免这种不希望的异常。 首先让我们创建引发空指针异常的示例 private Boolean isFinished(String status) { if (status.equalsIgnoreCase(Finish)) { return Boolean.TRUE; } else { return Boolean.FALSE; } } 在以前的方法中如果我们将“ status”变量的值传递为null则会在下一行引发Null Pointer Exception if (status.equalsIgnoreCase(Finish)) { 所以我们应该将我的代码更改为以下代码以避免Null Pointer Exception private Boolean isFinished(String status) {if (Finish.equalsIgnoreCase(status)) {return Boolean.TRUE;} else {return Boolean.FALSE;}} 在以前的方法中如果将“ status”变量的值设置为null则不会引发Null Pointer Exception。 如果您有object.equals“ literal” 则应替换为“ literal” .equalsobject 。 如果您有object.equalsEnum.enumElement 则应替换为 Enum.enumElement.equalsobject。 通常您可以确保对象没有等于null值的对象的equals方法。 我将继续提供更多最佳实践和建议。 在第1部分的帖子中我列出了如何在equalsIgnoreCase方法和枚举器中避免NPE 今天我将写以下案例 1-空集合 2-使用一些方法 3-断言关键字 4-断言类 5-异常处理 6-点语法太多 7- StringUtils类 1-空集合 空集合是没有任何元素的集合。 一些开发人员返回的Collection的空值不包含任何元素但是为false您应该返回Collections.EMPTY_LISTCollections.EMPTY_SET和Collections.EMPTY_MAP。 错误代码 public static List getEmployees() { List list null; return list; } 正确的代码 public static List getEmployees() { List list Collections.EMPTY_LIST; return list; } 2-使用一些方法 使用一些方法来确保不存在空值例如containsindexOfisEmptycontainsKeycontainsValue和hasNext。 例 String myName Mahmoud A. El-Sayed; List list Collections.EMPTY_LIST; boolean exist list.contains(myName); int index list.indexOf(myName); boolean isEmpty list.isEmpty(); Map map Collections.EMPTY_MAP; existmap.containsKey(myName); existmap.containsValue(myName); isEmptymap.isEmpty(); Set setCollections.EMPTY_SET; existset.contains(myName); isEmptyset.isEmpty(); Iterator iterator; exist iterator.hasNext(); 3-断言关键字 assert是Java 1.4中提供的关键字它使您能够测试关于代码的假设。 assert关键字的语法 assert expression1 ; expression1是被评估的布尔表达式如果为false则系统将抛出AssertionError而没有详细消息 assert expression1 : expression2 ; expression1是被评估的布尔表达式如果为false系统将抛出AssertionError并且详细消息为expression2 例如在我的帖子中我想断言表达式不为空那么我应该在下面的代码中编写 public static String getManager(String employeeId) { assert (employeeId ! null) : employeeId must be not null; return Mahmoud A. El-Sayed; } 如果我尝试使用getManagernull调用getManager方法 它将引发“ java.lang.AssertionErroremployeeId不能为空” 在运行代码以启用断言时请注意在java选项中使用-enableassertion 。 4-断言类 断言类存在于com.bea.core.repackaged.springframework.util包中并且有很多断言中使用的方法。 例 public static String getManager(String employeeId) { Assert.notNull(employeeId, employeeId must be not null); Assert.hasLength(employeeId, employeeId must has length greater than 0); return Mahmoud A. El-Sayed; } 如果我尝试使用getManagernull调用getManager方法 它将引发“ java.lang.IllegalArgumentExceptionemployeeId必须不为null” 5-异常处理 我应该小心使用try catch语句或检查变量的空值进行异常处理 例如 public static String getManager(String employeeId) { return null; } 我将使用以下代码进行校准 String managerId getManager(A015); System.out.println(managerId.toString()); 它将引发“ java.lang.NullPointerException” 因此要处理此异常我应使用try catch或检查空值 尝试catch语句 我将调用代码更改为以下代码 String managerId getManager(A015); try { System.out.println(managerId.toString()); } catch (NullPointerException npe) { //write your code here } b-空值检查 我将调用代码更改为以下代码 String managerId getManager(A015); if (managerId ! null) { System.out.println(managerId.toString()); } else { //write your code here } 6-点语法太多 一些开发人员使用这种方法因为他编写的代码更少但是将来维护和处理异常不会更容易 错误代码 String attrValue (String)findViewObject(VO_NAME).getCurrentRow().getAttribute(Attribute_NAME); 正确的代码 ViewObject vo findViewObject(VO_NAME); Row row vo.getCurrentRow(); String attrValue (String)row.getAttribute(Attribute_NAME); 7- StringUtils类 StringUtils类是org.apache.commons.lang包的一部分我可以使用它来避免NPE特别是其所有方法都是null安全的 例如StringUtils。 IsEmpty StringUtils。 IsBlank StringUtils.equals 等。 您可以从这里阅读此类的规范 结束语编写代码时请始终注意NullPointerException 并猜测如何将其抛出到代码中并在代码中编写// TODO以便以后没有更多时间解决它。 参考 避免空指针异常的第1部分 避免空指针异常的第2部分来自我们的JCG合作伙伴 Mahmoud A. ElSay 在Oracle Dive博客中发表。 翻译自: https://www.javacodegeeks.com/2012/06/avoid-null-pointer-exception-in-java.htmljava避免空指针异常
http://www.pierceye.com/news/145492/

相关文章:

  • 南昌住房城市建设支行官方网站海洋网络提供网站建设
  • 网站外链建设的八大基本准则做网站卖得出去吗
  • 网站建设不完整 审核天元建设集团有限公司一公司尤作岭
  • 论坛程序做导航网站专做轮胎的网站
  • 网站开发软件解决方案个人网站可以做资讯吗
  • 网站右击无效是怎么做的牛商网建设的食品网站
  • 新北网站建设全网营销网站建设
  • 网站建设与管理 教学设计自己的身份已经网站备案了
  • 长沙网站列表网站开发实例及研究
  • 东莞阳光网官方网站吉林百度查关键词排名
  • 网站开发投标书范本目录左旗网站建设
  • 一流的五屏网站建设wordpress 移动端 接口
  • 服装行业网站建设兴宁网站设计
  • 网站两边的悬浮框怎么做wordpress 非插件代码高亮
  • 网站安全管理制度建设下载网站建设公司哪家强
  • 网络直播网站开发长春市城乡建设部网站
  • 自己搭建服务器做网站要多久汕头网络推广电话
  • 除了昵图网还有什么做图网站深圳房地产网站开发
  • 网站建设哪家go好重庆怎样网站推广
  • 松江网站建设哪家好wordpress去掉父分类
  • 网站 云建站设计网站推荐室内
  • 网站怎么自适应屏幕云南建设投资集团网站
  • qq中心官方网站两个网站如何使用一个虚拟主机
  • 泰安网站制作推荐电脑网页游戏排行榜前十名
  • 石家庄最好的网站建设公司上海都有哪些企业公司
  • 网站的链接要怎么做官网制作公司
  • 学生成绩管理系统 网站建设站长之家源码下载
  • wap多用户网站微信端的网站开发python
  • 网络营销中自建网站厦门湖里区建设局网站
  • 公司建设网站的申请信用卡做盗版影视网站违法吗