更新时间:2022-05-11 11:08:27 来源:极悦 浏览1799次
大家在学习Java的过程中也会出现一些错误,极悦小编来给大家总结一下Java常见错误.
“==”和“equals()”之间存在巨大差异。这两者在任何情况下都不能相互替代。“==”用于检查两个对象的引用,而“equals()”用于检查java中这两个对象内部的值。看看下面的例子:
每当将任何值与文字或常量进行比较时,请确保将文字放在 equals() 方法之前。如果你把 getter() 方法放在首位,那么就有可能出现 NullPointerException。
因此,正确的方法是把常数值放在第一位,如下所示。或者空检查也可以,但我想这只是一个额外的 if 语句。
虽然预防是好的,但过度预防是不行的。为了避免 NullPointerException,有时开发人员倾向于在“for-each”循环中对每一个内容进行空值检查。但是没有必要检查循环内的空值。“for-each”循环仅在列表中存在元素时迭代。看下面的例子来确认:
看,没有 NullPointerException!因此,不需要下面的空检查。
很多时候,在 switch 案例中缺少 break 语句直到在生产中运行才被发现。
如果你在代码示例中忘记了 case 0 中的 break,程序将写“Zero”后跟“One”,因为这里的控制流将遍历整个 switch 语句,直到遇到 break。因此,在编写 switch case 时再次检查。
ConcurrentModificationException 当一个集合在迭代时被修改时发生。考虑一个实例,我们有一个人员列表,并且想要
从中删除一个人。如果我们运行此代码,将引发并发修改异常。为了解决这个问题,有多种方法可用。首先,收集对象并在另一个循环中删除它们。或者你可以使用 Iterator.remove() 方法。
这种方式更简洁,不需要创建额外的集合。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习