美文网首页
初步认识equals与==的区别

初步认识equals与==的区别

作者: 一曲三月 | 来源:发表于2021-07-27 10:34 被阅读0次

在JVM中,内存分为堆内存跟栈内存。他们二者的区别是: 当我们创建一个对象(new Object)时,就会调用对象的构造函数来开辟空间,将对象数据存储到堆内存中,与此同时在栈内存中生成对应的引用,当我们在后续代码中调用的时候用的都是栈内存中的引用。还需注意的一点,基本数据类型是存储在栈内存中。
初步认识equals与==的区别:

1, ==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同 ,
2,==是指对内存地址进行比较 , equals()是对字符串的内容进行比较,
3,==指引用是否相同, equals()指的是值是否相等
4,String s = new String("abcd");和其它任何对象一样.每调用一次就产生一个对象,只要它们调用。
也可以这么理解: String str = "hello"; 先在内存中找是不是有"hello"这个对象,如果有,就让str指向那个"hello".
如果内存里没有"hello",就创建一个新的对象保存"hello". String str=new String ("hello") 就是不管内存里是不是已经有"hello"这个对象,都新建一个对象保存"hello"。

相关文章

  • 初步认识equals与==的区别

    在JVM中,内存分为堆内存跟栈内存。他们二者的区别是: 当我们创建一个对象(new Object)时,就会调用对象...

  • Java 拆箱与装箱

    本文知识点 基本类型与引用类型 == 与 equals() 的区别 equals() 和 hashCode 的关系...

  • "=="与equals区别

    "=="当比较的是基本数据类型,比较的是值当比较的是引用类型,比较的是地址 a.equals(b)一般情况下,比较...

  • “==”与equals区别

    “==”比较地址 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equa...

  • Java字符串

    一、常用方法String str=""; 二、==与equals的区别 ==比较的是内存地址 equals比较的是...

  • Object,String,StringBuffer,Math,

    1,Object类.Equals方法 2,String类的创建方式以及==与Equals的区别 3,字符串

  • ==与equals()的区别

    1、如果比较的是常量,则 == 与 equals() 都是比较值知否相当2、如果是对象间的比较,== 比较对象在堆...

  • ==与equals的区别

    https://www.cnblogs.com/chris-oil/p/7253264.html

  • equals与==的区别

    ==: 1.基本类型比较用==比较的是存储的数值的大小; 2.引用类型比较用==比较的是引用类型的变量所指向的对象...

  • == 与 equals的区别

    引入 == - 基本数据类型(也称原始数据类型) byte, short, char, int long, flo...

网友评论

      本文标题:初步认识equals与==的区别

      本文链接:https://www.haomeiwen.com/subject/xlanmltx.html