Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java ==和equals的区别

作者:农村混血兒   发布日期:2026-02-02   浏览:12

public class Main {
    public static void main(String[] args) {
        // == 比较的是两个对象的引用(内存地址),对于基本数据类型比较的是值
        String str1 = new String("hello");
        String str2 = new String("hello");
        System.out.println(str1 == str2); // false,因为str1和str2是两个不同的对象,内存地址不同

        // equals 方法比较的是两个对象的内容
        System.out.println(str1.equals(str2)); // true,因为str1和str2的内容相同

        // 对于基本数据类型,== 和 equals 的效果相同,都是比较值
        int a = 5;
        int b = 5;
        System.out.println(a == b); // true
        System.out.println(Integer.valueOf(a).equals(Integer.valueOf(b))); // true
    }
}

解释说明:

  • == 运算符用于比较两个对象的引用(即它们在内存中的地址),对于基本数据类型(如 intchar 等),它比较的是值。
  • equals() 方法用于比较两个对象的内容是否相等。对于 String 类型,默认实现是比较字符串的内容,而对于其他对象类型,默认实现是比较引用(除非该类重写了 equals() 方法)。

通过上述代码示例可以看出:

  • 使用 == 比较两个 String 对象时,如果它们是通过 new 关键字创建的,则结果为 false,因为它们在内存中的地址不同。
  • 使用 equals() 方法比较两个 String 对象时,如果它们的内容相同,则结果为 true

上一篇:java 乐观锁

下一篇:java判断两个list是否有交集

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站