java中 == 如何判断
时间: 2023-09-30 11:06:08 浏览: 42
在Java中,==用于比较两个基本数据类型的值或者比较两个对象的引用是否相等。
对于比较基本数据类型,比较的是它们的值是否相等。例如:
```
int a = 10;
int b = 10;
if (a == b) {
// ...
}
```
上面的代码中,a和b的值都是10,因此a == b 的结果是true。
对于比较对象,==比较的是它们的引用是否相等,也就是它们是否指向同一个对象。例如:
```
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
if (str1 == str2) {
// ...
}
if (str1 == str3) {
// ...
}
```
在上面的代码中,str1和str2都是指向"hello"这个字符串常量的引用,因此str1 == str2的结果是true。而str3是通过new关键字创建的新的字符串对象,它的引用与str1不同,因此str1 == str3的结果是false。如果想比较两个字符串对象的内容是否相等,应该使用equals方法进行比较,例如:
```
if (str1.equals(str3)) {
// ...
}
```
相关问题
java中==和equals
在 Java 中,“==”、equals 和 hashCode 都有不同的作用。
“==”用于判断两个对象是否在内存中存储的是同一个对象实例。
equals() 方法用于判断两个对象内容是否相等。比较的是对象的属性值,通常需要重写该方法来实现自定义的对象比较规则。
hashCode() 方法用于获取对象的哈希码值,也可以作为 HashMap 中对象的键值。重写该方法时需要保证如果两个对象通过 equals() 方法比较是相等的,它们的 hashCode() 值也相等。
java中==和===
在Java中,没有 "===" 这个运算符,只有 "==" 运算符。
"==" 运算符用于比较两个对象的引用是否相同,也就是判断两个对象是否指向同一个内存地址。如果比较的两个对象的引用相等,那么返回 true,否则返回 false。
例如:
```
String str1 = "hello";
String str2 = "hello";
if (str1 == str2) {
System.out.println("str1和str2引用的是同一个对象");
} else {
System.out.println("str1和str2引用的不是同一个对象");
}
```
输出结果为:str1和str2引用的是同一个对象。
"===" 运算符通常用于 JavaScript 中,用于比较两个值是否完全相等,包括类型和值。在 Java 中没有这个运算符。