String ~ equals(); 与变量位置问题。空指针异常是为什么。
package com.geek.controller;
public class Test {public static void main(String[] args) {isEqual01(null);
// falseisEqual01("a");
// trueisEqual02(null);
// 这里会报 java.lang.NullPointerException 空指针异常。
// 而 isEqual01(null);
// false 不会。
// 是因为
// 问题出现在方法调用上。因为 null 值,并不是一个 String 对象。
// 而通过声明的 String 对象引用去调用 String 对象的实例方法。当然不可以了。
// null 调用了方法。
// null.equals();
isEqual02("a");
// true
}private static void isEqual01(String str) {
if ("a".equals(str)) {
System.out.println("true");
} else {
System.out.println("false");
}
}private static void isEqual02(String str) {
if (str.equals("a")) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)