易截截图软件、单文件、免安装、纯绿色、仅160KB

java equals与== 的区别

equals 方法是 java.lang.Object 类的方法。
有两种用法说明:
(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
“==”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
比如:
String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");
那么:
s1==s2 是 false      //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,
故不相等。
s1.equals(s2) 是 true     //两个变量的所包含的内容是abc,故相等。
注意(1):
如果:          StringBuffer s1 = new StringBuffer("a");
StringBuffer s2 = new StringBuffer("a");
结果:           s1.equals(s2) //是false
解释:StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,
          而Object类中的equals方法是用来比较“地址”的,所以等于false.
注意(2):
对于s3和s4来说,有一点不一样要引起注意,由于s3和s4是两个字符
串常量所生成的变量,其中所存放的内存地址 是相等的,
所以s3==s4是true(即使没有s3=s4这样一个赋值语句)
(2)对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其
对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
比如:
class A
{
      A obj1   =    new A();
      A obj2   = new A();
}
那么:obj1==obj2是false
            obj1.equals(obj2)是false
但是如加上这样一句:obj1=obj2;
那么 obj1==obj2 是true
          obj1.equals(obj2) 是true
总之:equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较
其指向的对象是否相同的。
             == 比较符也是比较指向的对象是否


相关文档:

oracle 返回一个java对象,和返回多个java对象的方法

返回多个对象:
    PROCEDURE AUTO_SEL_INVOICE_DETAIL(
  P_RESULT_LIST OUT SYS_REFCURSOR) AS
    BEGIN
    OPEN P_RESULT_LIST FOR
   SELECT DISTINCT CC.CHARGE_COLLECTION_ID CHARGE_COLLECTION_ID, CC.COLLECT_DATE COLLECT_DATE, C ......

传智播客Java培训 HTML基础示例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>实例1</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME=" ......

Java数据报编程之组播


在信息时代,网络技术应用已非常普通。其中非常多应用都依赖于从一个主机向多个主机或从多个主机向多个主机发送同一信息的能力,在Internet上分发的数目可能达数十万台,这些都需要更高的带宽,并且大大超出了单播的能力。一种能最大限度地利用现有带宽的重要技术是IP组播。
1.IP组播技术的概念
IP组播技术,是一种允 ......

C#与JAVA的比较

很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似,尽管如此,两者不同的地方也很多,所谓“于细微处见差异”。那么两者的相似和区别都在什么地方呢?我们从今天开始,会从各个角度来对比C#和Java的特点,希望能对正在学习、使用C#的朋友有所帮助。
& Y0 f! I! a4 a1 K
% B# G8 ......

用设计模式的思想来定制Java中的事件

级别: 初级

咸峰
(hutun@263.net
),
2001 年 5 月 28 日
随着JAVA的迅猛发展,JDK版本的不断更
新,JAVA新的事件模型与旧的JDK模型也有了本质的区别,它的事件模型也有了很大的区别。由于现在的编程都是采用事件驱动,所以很有必要了解的事件模
型,我们下面从定制事件的实际出发来具体讨论。
问题的提出
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号