正在加载图片...
关系运算符〓=和!=能用于所有对象,但是它们的意思经常会把新手 们给搞胡涂。下面就是一个例子 //: c03: Equivalence. java import com. bruceeckel simpletest. public class Equivalence t static Test monitor new Test( public static void main(String[] args) i Integer nl new Integer(47)i Integer n2 new Integer (47) System. out. printin(n1 == n2)i System. out. println(nl !=n2)i monitor. expect (new String[] t }///:~ 表达式 System. out. println(n1==n2)会把比较结果的 boolean值打印出来。很显然,由于这两个 Integer对象是完全相同 的,因此输出结果应该是先true后 false。然而,虽然这对象的“内 容”是相同,但它们的 reference不同,而〓=和!=比较的是对象的 reference。所以实际的输出应该是先 false后true。对此,新手们当 然会吓一跳的 要想比较这两个对象的实际内容,又该怎么办呢?必须使用每个类都有 的,专门的 equals()方法( primitives没有,因为==和l=就用得 很好)。下面就是该如何使用: //: c03: EqualsMethod java import com. bruceeckel simpletest*i public class EqualsMethod tatic Test monitor new Test ( public static void main (String[] args)i Integer n2 new Integer(47)i System. out. println(nl equals(n2))i monitor. expect (new String[] i 现在的结果就是你预料中的true了。嗯,但是没那么简单,如果你创建 了自己的类,比方说下面这个: //: c03: EqualsMethod2 java 第11页共48页shhgs@wgqqh.com ￾ 11 ✁ ✂ 48 ✁ # == ! = ;ˆ)Dm¥_ AW(¹}õ·ºPK& W¬'(¶3×]0 //: c03:Equivalence.java import com.bruceeckel.simpletest.*; public class Equivalence { static Test monitor = new Test(); public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1 == n2); System.out.println(n1 != n2); monitor.expect(new String[] { "false", "true" }); } } ///:~ hi´ System. ou t. prin tl n ( n 1 == n 2 ) ºP8OÅ( boolean L]ª!QŠ| `) e× In teger ¥_c>‡ ( æò©!OÅvw/ true  fal se|à Ø| ¥_(͏ RÏ>‡ AW( referen ce X‡ à == ! = 8(¥_( referen ceDEñ™(©!vw/ fal se  true¥ò K&W |º)3*( %|8 e×¥_(ñ™R üwÕZ+Âʇˆçˆ,×eÆm ( Ÿ ( equal s( )µ (p rim itives œm æ™== ! = ˆ‰ Š‘)¶wÄçˆ0 //: c03:EqualsMethod.java import com.bruceeckel.simpletest.*; public class EqualsMethod { static Test monitor = new Test(); public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1.equals(n2)); monitor.expect(new String[] { "true" }); } } ///:~ íF(OÅ¡?-*( true ,. œYZ)t ÄÅ¡§¨ ,ý þ(e 8µ$¶ ×0 //: c03:EqualsMethod2.java
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有