上一篇
Java等于号怎么打?
- 后端开发
- 2025-07-03
- 7
在Java中,赋值使用单等号(=),比较相等使用双等号(==),对于对象内容的比较,需使用equals()方法而非==,因为==仅比较对象内存地址,字符串比较尤其要注意此区别。
在Java编程中,“等于”概念涉及两个核心符号:赋值运算符()和相等比较运算符(),以下是详细解析:
赋值运算符 (一个等号)
- 作用:将右侧的值赋给左侧的变量。
- 输入方式:
直接按键盘主区域或数字小键盘的 键(无需组合键)。
- 示例: int a = 10; // 将10赋值给变量a String s = "Hello"; // 将字符串"Hello"赋值给s
相等比较运算符 (两个等号)
-
作用:比较两个值是否相等(基本类型)或两个对象引用是否指向同一内存地址(引用类型)。
-
输入方式:
连续按两次 键(即 + )。
-
示例:
int x = 5; int y = 5; boolean result = (x == y); // true(基本类型比较值) String str1 = new String("Java"); String str2 = new String("Java"); boolean isSame = (str1 == str2); // false(引用类型比较内存地址)
关键注意事项
-
与 的区别:

- 是赋值(如 a = 5),
是比较(如 if(a == 5))。
- 混淆二者会导致编译错误或逻辑缺陷: if (a = 5) { } // 错误!本意可能是 if (a == 5)
- 是赋值(如 a = 5),
-
比较必须用 equals():
不适合比较对象内容(如字符串内容),应使用 equals() 方法:
String s1 = "text"; String s2 = new String("text"); System.out.println(s1 == s2); // false(地址不同) System.out.println(s1.equals(s2)); // true(内容相同) -
基本类型 vs 引用类型:
- 基本类型(int, char 等): 直接比较值。
- 引用类型(对象): 比较对象内存地址,非内容。
-
漏写第二个等号:

正确写法:if (age == 18)
-
误用 比较字符串:
最佳实践
- 为变量赋初值:int count = 0;
- 比较基本类型:if (score == 100)
- 比较对象内容:if (obj1.equals(obj2))
- 避免空指针:比较前检查非空
if ("data".equals(safeVar))(安全写法)
:
- 赋值:单等号 → 将值存入变量。
- 相等比较:双等号 → 检查基本类型值相等或引用地址相同。
始终用 equals() 比较对象内容,避免 的误用。
引用说明: 参考Oracle官方Java文档(Primitive Data Types, Equality Operators)及《Java核心技术》(Cay S. Horstmann著)中关于运算符的权威定义。

常见错误场景