equals()方法和“==”的区别

1. 要比较两个基本类型的数据或者两个引用变量是否相等(equals方法比较的是变量的内容),只能用“==”操作符;

2. String a = new String("foo");

String b = new String("foo");

如果是a==b,则返回false,因为==比较的是两个引用变量是否指向同一个对象,即这两个变量所对应的内存中的数值是否相等,即对象占用的那块内存的首地址;

如果是a.equals(b),则返回true,因为equals()方法用于比较两个独立对象的内容是否相同。

3. equals()方法用来比较两个字符串中的内容是否相等。

时间: 2024-07-29 10:11:00

equals()方法和“==”的区别的相关文章

Java易混小知识——equals方法和==的区别

一.equals方法和==的区别 1.equals是String对象的方法,可以通过".“调用. 2.== 是一个运算符. 二.常用的比较用法 1.基本数据类型比较. equals和==都比较两个数值 是否相等.相等即为true,不相等则为false. 2.引用对象的比较. equals和==都比较栈内存中的地址是否相等.相等即为true,不相等则为false. 三.易错点 1.String是一个特殊的引用类型.对于两个字符串的比较,不管是==还是equals这两者比较的都是字符串是否相同. 2

Object类和String类equals方法有什么区别?

相信很多学习过Java的同学都知道,在比较两个String对象的内容是否相同时是使用equals方法的 如:String str1=new String("A"); String str2=new String("B"); String str3=new String("B"); boolean result1= str1.equals(str2); boolean result2= str2.equals(str3); System.out.p

Java中的“==操作符”和equals方法有什么区别

Java中的"=="和equals方法究竟有什么区别? 1.==操作符 "=="操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符. 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如: Objet obj = new Object(); 变量obj是一个内存,new Object()是另一

TextUtils.isEmpty()和equals()方法的用法区别

        对于一个UI界面中,当判断用户是否输入用户名或密码时,我们常用TextUtils.isEmpty()方法来判断:但有时也可以用这个equals()方法,都可以来判断EditText中是否为空,但有时很纠结,不知道这两种方法中哪个比较好?为什么?         后来在百度上找到了答案.         仔细读官方的API:  Returns true if the string is null or 0-length.  因为你从EditText返回的是一个变量.如果这个变量本身

Java equals()方法与“==”的区别

== : 比较的是两个引用是否指向同一个对象. 结果: equals(): 继承Object中的方法时,作用同"==",比较的是两个引用是否指向同一个对象. 子类也可通过重写equals()方法的方式,来改变比较的内容. 原文地址:https://www.cnblogs.com/CPU-Easy/p/12250320.html

==和equals究竟有什么区别

==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符.(简单说就是变量指向的对象的内存地址是否相同) 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块

JAVA学习(二) String使用equals方法和==分别比较的是什么?(转)

String使用的equals方法和==的区别 equals方法和==的区别 首先大家知道,String既可以作为一个对象来使用,又可以作为一个基本类型来使用.这里指的作为一个基本类型来使用只是指使用方法上的,比如String s = "Hello",它的使用方法如同基本类型int一样,比如int i = 1;,而作为一个对象来使用,则是指通过new关键字来创建一个新对象,比如String s = new String("Hello").但是它的内部动作其实还是创建

Java中“==”与equals方法的区别

1. 用“==”比较两个变量,如果两个变量是基本类型变量,且都是数值类,则值相等就返回true 如果两个变量是引用型变量,则两个对象的地址一样,即指向同一个对象,则返回true 2.equals:String类对equals进行了重写:1)若是同一个对象,返回true: 2)若不是,则比较它们的值,值相同,返回true 重写代码: public boolean equals(Object anObject) { if (this == anObject) { return true; } if

"=="和equals方法究竟有什么区别?

(单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚) ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符. 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此

C#中==与Equals方法的区别

usingSystem;using System.Collections.Generic;using System.Linq;using System.Text; namespace ConsoleApplication1{    class Person    {        private string name;        public string Name        {            get { return name; }            set { name