关于 == 和 equals
来源:互联网 发布:淘宝上的zuzu是正品吗 编辑:程序博客网 时间:2024/06/01 10:31
在java中,equals方法是继承自object类。它与==不一样。
==用来比较两个名称是否参考自同一个对象,equals方法用来比较两个名称对应的内容是否相同。
例如:
import java.io.*;import java.util.Scanner;import java.math.*;import java.lang.*;public class Main10 {public static void main(String[] args) {String a = "Hello";String b = "Hello";System.out.println("a == b?" + " " + (a == b));System.out.println("a == b?" + " " + a.equals(b));Integer c = 3;Integer d = 3;System.out.println("c == d?" + " " + (c == d));System.out.println("c == d?" + " " + c.equals(d));}}
执行结果为:
a == b? true
a == b? true
c == d? true
c == d? true
这是因为a和b,c和d参考的是同一个对象,它们指向的是同一段内存。对于String类,维护一个String Pool,对于一些可以共享的字符串对象,会先在String Pool中查找是否存在相同的String内容(字符相同),如果有旧直接传回,而不是直接创建一个新对象,以减少内存的消耗。所以对于==,a和b参考的是一个对象,都是“Hello”这个字符串。对于equals方法,a和b,c和d的内容是一样的,所以也是true。
import java.io.*;import java.util.Scanner;import java.math.*;import java.lang.*;public class Main10 {public static void main(String[] args) {String a = new String ("Hello");String b = new String ("Hello");System.out.println("a == b?" + " " + (a == b));System.out.println("a == b?" + " " + a.equals(b));Integer c = new Integer(1);Integer d = new Integer(1);System.out.println("c == d?" + " " + (c == d));System.out.println("c == d?" + " " + c.equals(d));}}
执行结果为:
a == b? false
a == b? true
c == d? false
c == d? true
在==的时候都输出false,这是因为他们不再参考同一个变量,a,b对应的是new出的两个不同的对象,同理c,d也是。
但是它们的内容还是一样的,所以equals方法中都输出true。
0 0
- 关于 “Equals”和“==”
- 关于 == 和 equals
- 关于“==”和“equals()”
- 关于 == 和 equals
- 关于equals和==
- 关于“==”和“equals”的区别
- 关于Equals 和== 的区别
- 关于==和equals的区别
- 关于Equals 和== 的区别
- 黑马程序员--关于equals和“==”
- 关于String的==和equals
- 关于equals 和 == 的理解
- 关于==和equals的小结
- 关于Java里面 == 和 equals
- 关于Java里面 == 和 equals
- 关于equals和==的总结
- equals 和 ==, equals 和 hashcode
- 关于字符串==和equals的区别 ==对象相同 equals对象内容相同
- truncate、delete、drop三者的区别
- 简单的选择结构程序设计的总结
- 【SPOJ】913 Query on a tree II QTREE系列之2【LCA】
- 运输公司对用户计算运费.路程越远每公里运费越低.每公里每吨货物的基本运费p = 3;用户需要输入货物重量w和距离s;根据距离的不同折扣d不同(具体见)下面的表格,要求根据用户输入的w和s,计算出总运费
- 选择语句
- 关于 == 和 equals
- log4j日志框架的配置
- UVa10054 The Necklace,无向图求欧拉回路
- Google笔试题整理(超全!)附部分答案
- POJ 1106 Transmitters (简单计算几何)
- 异步GET请求(使用委托)
- 计算几何之判断两条线段相交
- HashSet集合存储自定义对象及注意事项
- Longest Palindromic Substring