标签:JAVA true System Us equals println 一些 方法 out
equals 和 == 的区别
- 首先的区别是,equals 是方法,而 == 是操作符;
- 对于基本类型的变量来说(如
short
、int
、long
、float
、double
),只能使用 == ,因为这些基本类型的变量没有 equals 方法。对于基本类型变量的比较,使用 == 比较, 一般比较的是它们的值。 - 对于引用类型的变量来说(例如 String 类)才有 equals 方法,因为 String 继承了 Object 类, equals 是 Object 类的通用方法。对于该类型对象的比较,默认情况下,也就是没有复写 Object 类的 equals 方法,使用 == 和 equals 比较是一样效果的,都是比较的是它们在内存中的存放地址。但是对于某些类来说,为了满足自身业务需求,可能存在 equals 方法被复写的情况,这时使用 equals 方法比较需要看具体的情况,例如 String 类,使用 equals 方法会比较它们的值
Us u1 = new Us(1, 2); Us u2 = new Us(1, 2); System.out.println(u1 == u2);//false Us u3 = u1; System.out.println(u1 == u3);//true
Us u1 = new Us(1, 2); Us u2 = new Us(1, 2); System.out.println(u1.equals(u2));// false Us u3 = u1; System.out.println(u1.equals(u3));// true
String equals 被重写 比较值
String a = "Hello World"; String b = new String("Hello World"); String c = b; //引用传递 System.out.println("a == b:" + a == b); //false System.out.println("b == c:" + b == c); //true System.out.println("a == c:" + a == c); //false System.out.println("a.equals(b):" + a.equals(b)); //true System.out.println("b.equals(c):" + b.equals(c)); //true System.out.println("a.equals(c):" + a.equals(c)); //true 最终的打印会是: a == b:false b == c:true a == c:false a.equals(b):true b.equals(c):true a.equals(c):true
标签:JAVA,true,System,Us,equals,println,一些,方法,out 来源: https://www.cnblogs.com/tingtin/p/15780714.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。