黑马程序员技术交流社区
标题:
"equals"和"=="的区别
[打印本页]
作者:
为了你而出现
时间:
2013-10-22 18:51
标题:
"equals"和"=="的区别
请问"equals"和"=="的在用法上有什么区别吗,可以互用吗?我是个菜鸟,正在努力着。
作者:
黄炳期
时间:
2013-10-22 19:32
提示下,很多基础的问题,论坛里都有同学问过了,可以查找以前的提问帖。
提问和答题都需要注意质量。
作者:
孙涛00
时间:
2013-10-22 19:41
equals主要是判断字符串相等,==是判断一般是int是否相等
作者:
wjy495678328
时间:
2013-10-22 22:09
equals和==都是比较两个值是否相等,结果为ture或者false,==是判断int型的,是一个运算符,equals貌似是表示两个元素是同一个对象的引用 求技术分
作者:
松毛
时间:
2013-10-22 22:45
你应该看今天晚上的YY课程的!付东老师讲解的很仔细。 "equals"比较的是两边内容是否相同! "=="比较的是两边地址是否相同
作者:
qqhao01
时间:
2013-10-22 22:47
equalsb比较的是内容 ==比较的是地址
作者:
mayor125
时间:
2013-10-23 00:19
“equals”比较的是对象的内容,“==”比较的是对象的地址。
首先通过代码来说明“==”比较的是什么?代码如下:
class CompareDemo
{
public static void main(String[] args)
{
String str1 = "hello"; //通过直接赋值的方式实例化对象。
String str2 = new String("hello"); //通过new关键字实例化对象。
String str3 = str2;
System.out.println("str1==str2--->"+(str1==str2));
System.out.println("str1==str3--->"+(str1==str2));
System.out.println("str2==str3--->"+(str2==str3));
}
}
复制代码
输出的结果是:
str1==str2--->false
str1==str3--->false
str2==str3--->true
通过上面的输出结果可以得出“==”比较的是内存的引用地址,因为str1和str2的内存地址不一样,所以结果是false,而str2和str3指向的是同一内存地址,所以结果为true。
再通过代码来说明“equals”比较的是什么?代码如下:
class CompareDemo
{
public static void main(String[] args)
{
String str1 = "hello"; //通过直接赋值的方式实例化对象。
String str2 = new String("hello"); //通过new关键字实例化对象。
String str3 = str2;
System.out.println("str1==str2--->"+str1.equals(str2));
System.out.println("str1==str3--->"+str1.equals(str2));
System.out.println("str2==str3--->"+str2.equals(str3));
}
}
复制代码
输出的结果是:
str1==str2--->true
str1==str3--->true
str2==str3--->true
通过上面的输出结果可以得出“equals”比较的是对象的内容,因为内容都是hello,即使引用的内存地址不一样,但最终的结果都是true。
作者:
世界,你好
时间:
2013-10-30 11:43
==是指对内存地址进行比较 squals()是对字符串的内容进行比较
作者:
世界,你好
时间:
2013-10-30 11:47
==是指对内存地址进行比较 equals()是对字符串的内容进行比较 比如string a = "abc"; string b = "abc"; 这是用==比较就是true,用equals()也是相等的。但是这样string a = "abc"; string b = new string("abc")用==比较就是false了,然而equals()还是相同的
作者:
马明杨
时间:
2013-11-16 08:09
equals是比较引用类型的内存地址是否一样,结果为true或false,==是比较值是否一样
作者:
还记得梦想吗
时间:
2013-12-5 08:11
不童对象值相同的话可用equals为真,但用==比较的话,不同对象不相等!!!!
作者:
大雄9293
时间:
2013-12-5 16:27
==是指对内存地址进行比较 ,squals()是对字符串的内容进行比较
==指引用是否相同,equals()指的是值是否相同
作者:
王新年
时间:
2013-12-5 17:14
一般情况下不可以互用,比如在引用中时==是指对内存地址进行比较 equals()是对字符串的内容进行比较
此时不能互用如果是对基本类型数据进行比较时可以互用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2