java中equals和==的区别是什么

刚开始学习Java中字符串的比较时,可能会对==和equals比较迷茫,今天我就通过一个小例子来简单说明一下equals和==的区别。

操作方法

  • 01

    首先,定义两个String类变量a和b,然后,把字符串“mimi”赋值给变量a和b。 我们给a赋值的时候就会在内存分配一个地址存放“mimi”。而再次给b赋值的时候,因为内存中已经存在了“mimi”,所以a和b指向的是同一个地址。 而使用new来创建对象“mimi”,就会重新在内存中分配一个地址。 也就是说a和b指向的地址一样,a和c指向的地址不一样。

  • 02

    接着我们使用输出方法来判断一下他们之间的真假。

  • 03

    点击工具栏中的运行按钮运行Java程序。

  • 04

    如图,运行之后,控制台就会出现结果。

  • 05

    为了更直观,我把结果放到旁边,方便进行讲解。 a==b结果为true(真),而a==c,b==c结果都为false(假),之前说过,a和b地址一样,可见对于比较字符串时,==比较的是地址。 而a.equals(b)和a.equals(c)结果都是true,所以比较字符串时,equals比较的是字符串内容而不是地址。

(0)

相关推荐

  • java中equals使用方法

    java中equals如何使用,这个实在是没什么好介绍的,无非就是一个函数,那接下来就来介绍一下这个函数怎么用吧. 操作方法 01 首先,既然是一个函数,那么它一定有返回值跟参数,对于equals来说 ...

  • JAVA中的语句都有哪些,怎么用?

    我们说任何程序语言,都是由一个个条件,用一定的语言习惯串起来的,那么JAVA中都有哪些语句呢,我们一起来看一下. 一.复合语句 01 同C语言或其他语言相同,Java语言的复合语句是以整个块区为单位的 ...

  • java中抽象类和接口的区别

    java中抽象类和接口的区别是什么?java 抽象类和java接口类有什么区别?java中抽象类与接口有哪些区别?Java中抽象类和接口的区别?Java中抽象类与接口有什么区别?Java中抽象类与接口 ...

  • java 中各进制之间转换方法

    java中十进制.十六进制.二进制.ASCII码是常用的编码方式,在本篇文章中将这些编码的相互转换直接以代码的形式粘贴出来,以供参考. 十六进制字符串转十进制 01 param hex  十六进制字符 ...

  • java中equal与==的区别

    介绍一下java中==和equals方法的区别.在初学java时需要弄清楚这个问题,以免在今后在编码过程中出现一些低级错误. 操作方法 01 首先,在eclipse中运行图示所示代码,通过结果对&qu ...

  • java基础入门 java教程 java中的static 关键字

    static 翻译的意思是:静止的;不变的;静电的;,在java中是一个关键字,可以用来修饰成员变量,成员方法,修饰类. static的特点: 1. 实现对象中的数据共享,就可以使用static修饰 ...

  • java中&与&&的区别

    java中&与&&的区别是什么?小编来告诉你,请看下文. 操作方法 01 最简单的区别是,&无论str != null 是否为true,程序都会执行,而&&am ...

  • HashSet中equals()与hashCode()方法的重写

    操作方法 01 hashCode是散列码,用来快速查询用的 你看到的那一串的格式如下,比如一个String@4e57de "@ "前面的是你的类名,后面的就是散列码的16进制表示. ...

  • java中的常量定义 final 的问题解决方法

    Java 中我们常常需要定义一些常量ID,ID值为连续不重复值 方法1:, 方便的定义,方便增减ID 非常方便, 程序保证不会有重复的ID public static class HandleMess ...