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

网站开发质量控制计划书电脑网站制作软件

网站开发质量控制计划书,电脑网站制作软件,电商网站建设最好的公司,禅城区网站建站网站jdk8运行jdk7的代码Java 7#xff0c;TreeSet和NullPointerException。 最近#xff0c;我尝试用Java 7编译一个用Java 6开发的项目。在执行测试过程中发生了很多有趣的事情#xff0c;在Java 6中使用Java 7平稳运行的测试失败了#xff01; 因此#xff0c;我必须理解为什… jdk8运行jdk7的代码 Java 7TreeSet和NullPointerException。 最近我尝试用Java 7编译一个用Java 6开发的项目。在执行测试过程中发生了很多有趣的事情在Java 6中使用Java 7平稳运行的测试失败了 因此我必须理解为什么这就是我发现的内容……首先要了解的上下文在该项目中我或多或少有一个简单的Hibernate Entity如下所示。 package com.marco.test; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import org.hibernate.validator.NotNull; Entity Table(...) public class ABean {...private String name;Column(name name, nullable false)NotNullpublic String getName() {return name;}public void setName(String name) {this.name name;} } 请注意字段“名称”为nullable false并标有NotNull 。 这是为了告诉Hibernate在用户尝试创建或将此列更新为Null的情况下使验证失败。 我也有该实体的比较器。 该比较器使用名称字段来比较Entity这只是我在项目中的简化版本当然我不基于字符串长度订购Bean package com.marco.test; import java.util.Comparator; public class ABeanComparator implements ComparatorABean {Overridepublic int compare(ABean o1, ABean o2) {if (o1.getName().length() o2.getName().length()) {return 1;} else if (o1.getName().length() o2.getName().length()) {return -1;} else {return 0;}} } 请注意字段名称没有空检查在我的项目中Hibernate已经在处理它。 现在我有一个测试该测试创建一个空的Entity并将其存储到TreeSet中然后执行其他我们在这里并不真正关心的东西。 测试的开始类似于以下代码 package com.marco.test; import java.util.SortedSet; import java.util.TreeSet; public class SortedTestTest {public static void main(String[] args) {ABean aBean new ABean();SortedSetABean sortedSet new TreeSetABean(new ABeanComparator());sortedSet.add(aBean);} } 如果我使用Java 6运行此程序一切正常。 但是对于Java 7我有一个NullPointerException。 Exception in thread main java.lang.NullPointerExceptionat com.marco.test.ABeanComparator.compare(ABeanComparator.java:9)at com.marco.test.ABeanComparator.compare(ABeanComparator.java:1)at java.util.TreeMap.compare(TreeMap.java:1188)at java.util.TreeMap.put(TreeMap.java:531)at java.util.TreeSet.add(TreeSet.java:255)at com.marco.test.SortedTestTest.main(SortedTestTest.java:14) 为什么 这就是为什么 public V put(K key, V value) {EntryK,V t root;if (t null) {compare(key, key); // type (and possibly null) checkroot new Entry(key, value, null);size 1;modCount;return null;} 在Java 7中当第一个Object添加到TreeSet时 如果t null将执行与自身的比较comparekeykey。 然后compare方法将调用比较器如果有的话并且name属性将具有NullPointerException。 // Little utilities/*** Compares two keys using the correct comparison method for this TreeMap.*/final int compare(Object k1, Object k2) {return comparatornull ? ((Comparable? super K)k1).compareTo((K)k2): comparator.compare((K)k1, (K)k2);} 提出的问题多于答案 如果您知道TreeSet中的对象是第一个也是唯一的为什么还要进行比较 我的猜测是他们想做的是运行一个简单的Null检查。 为什么不创建适当的null检查方法 没有答案 为什么浪费CPU和内存运行不需要的比较 没有答案 为什么将一个对象与其自身进行比较comparekeykey 没有答案 这是Java 6中TreeSet的put方法可以看到比较被注释掉了。 public V put(K key, V value) {EntryK, V t root;if (t null) {// TBD:// 5045147: (coll) Adding null to an empty TreeSet should// throw NullPointerException//// compare(key, key); // type checkroot new EntryK, V(key, value, null);size 1;modCount;return null;} 您看到评论了吗 向空的TreeSet添加null会引发NullPointerException。 因此只需检查key是否为null就不要进行无用的比较 结论 始终尝试分析您使用的代码因为即使在jdk中也存在错误代码 参考 即使在jdk中 我们的JCG合作伙伴 Marco Castigliego 也会在“ 删除重复并修复不良名称”博客中提供错误代码 。 翻译自: https://www.javacodegeeks.com/2013/04/even-in-the-jdk-there-is-bad-code.htmljdk8运行jdk7的代码
http://www.huolong8.cn/news/150675/

相关文章:

  • 猫扑网站开发的网络游戏光遇网页制作素材
  • 做外链的博客网站嵌入式开发要学哪些课程
  • 做网站销售有前景吗ps简单网页设计模板图片
  • wordpress单图模式广安seo外包
  • 一个虚拟空间可以做两个网站吗三门峡网站设计
  • 深圳企业网站定制公司wordpress转换为中文版
  • 网站后台会员管理网站设网站设计
  • 那个免费做微信订阅号的网站海南省建设培训与职业资格注册中心网站
  • 商丘睢阳区市政建设局网站景安安装wordpress提示错误
  • 网站建设流程总结邢台163信息网
  • 苏州市建设工程质量监督站网站网站子目录设计
  • 沈阳中联做网站如何知道一个网站做的什么推广
  • 公司网站建设注意软文推广怎么做
  • 菠菜网站建设重庆自助企业建站模板
  • 站长之家统计中国建设工程造价管理协会网站招聘
  • 网站设计公司青岛兰州建设一个网站多少钱
  • 网站建设坂田做网站天津
  • 娃哈哈网站建设策划书如何做网站焦点图
  • 潍坊网站制作企业国内小型电商平台有哪些
  • asp建设的网站制作南京专业网站制作公司有哪些
  • 高新网站建设多少钱赤峰做网站公司
  • 企业服饰网站模板设计公司和装修公司的区别
  • 网站免费注册app制作软件企业
  • 制作网站最新工具网站备案号被收回
  • 网站开发项目安全加固的要求discuz系统
  • 银行网站开发wordpress页面设计插件
  • 义乌外贸建站宜春seo
  • 玉林市网站开发公司电话网站建设的系统分析
  • wordpress小说站温州网站改版哪家好
  • 简单建设企业办公网站企业网站排名优化公司