diff --git a/docs/java/Java疑难点.md b/docs/java/Java疑难点.md index 066d01fb..e13c982b 100644 --- a/docs/java/Java疑难点.md +++ b/docs/java/Java疑难点.md @@ -61,7 +61,7 @@ public static boolean equals(Object a, Object b) { Reference:[Java中equals方法造成空指针异常的原因及解决方案](https://blog.csdn.net/tick_tock97/article/details/72824894) -- 每种原始类型都有默认值一样,如int默认值为0,boolean的默认值为false,null是任何引用类型的默认值,不严格的说是所有object类型的默认值。 +- 每种原始类型都有默认值一样,如int默认值为 0,boolean 的默认值为 false,null 是任何引用类型的默认值,不严格的说是所有 Object 类型的默认值。 - 可以使用==或者!=操作来比较null值,但是不能使用其他算法或者逻辑操作。在Java中`null==null`将返回true。 - 不能使用一个值为null的引用类型变量来调用非静态方法,否则会抛出异常 @@ -81,7 +81,7 @@ System.out.println(a == b);//false System.out.println(a.equals(b));//false ``` -当使用自动装箱方式创建一个Integer对象时,当数值在-128 ~127时,会将创建的Integer对象缓存起来,当下次再出现该数值时,直接从缓存中取出对应的Integer对象。所以上述代码中,x和y引用的是相同的Integer对象。 +当使用自动装箱方式创建一个Integer对象时,当数值在-128 ~127时,会将创建的 Integer 对象缓存起来,当下次再出现该数值时,直接从缓存中取出对应的Integer对象。所以上述代码中,x和y引用的是相同的Integer对象。 **注意:**如果你的IDE(IDEA/Eclipse)上安装了阿里巴巴的p3c插件,这个插件如果检测到你用 ==的话会报错提示,推荐安装一个这个插件,很不错。 @@ -155,9 +155,7 @@ Reference:《阿里巴巴Java开发手册》 **正例** : 数据库的查询结果可能是 null,因为自动拆箱,用基本数据类型接收有 NPE 风险。 -**反例** : 比如显示成交总额涨跌情况,即正负 x%,x 为基本数据类型,调用的 RPC 服务,调用不成功时, -返回的是默认值,页面显示为 0%,这是不合理的,应该显示成中划线。所以包装数据类型的 null 值,能 -够表示额外的信息,如:远程调用失败,异常退出。 +**反例** : 比如显示成交总额涨跌情况,即正负 x%,x 为基本数据类型,调用的 RPC 服务,调用不成功时,返回的是默认值,页面显示为 0%,这是不合理的,应该显示成中划线。所以包装数据类型的 null 值,能够表示额外的信息,如:远程调用失败,异常退出。 # 2. 集合