【基础回溯2】Java 基础知识疑难点/易错点
本文已经收录自 https://github.com/Snailclimb/JavaGuide (59k+ Star):【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 阅读原文即可获取最新更新! ps: 之前发过这篇文章,不错后面又对内容重新完善和增加了部分内容,而且为了应读者要求做一个文章分类目录菜单,为了保证文章的质量和准确性重新发送了一遍。 1. 基础 1.1. 正确使用 equals 方法 Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。 举个例子: // 不能使用一个值为null的引用类型变量来调用非静态方法,否则会抛出异常 String str = null ; if (str.equals( "SnailClimb" )) { ... } else { .. } 运行上面的程序会抛出空指针异常,但是我们把第二行的条件判断语句改为下面这样的话,就不会抛出空指针异常,else 语句块得到执行。: "SnailClimb" .equals(str); // false 不过更推荐使用 java.util.Objects#equals (JDK7 引入的工具类)。 Objects.equals( null , "SnailClimb" ); // false 我们看一下 java.util