易截截图软件、单文件、免安装、纯绿色、仅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方法对于字符串来说是比较内容的,而对于非字符串来说是比较
其指向的对象是否相同的。
             == 比较符也是比较指向的对象是否


相关文档:

Java设计模式之:Iterator链表模式

先来了解一下链表模式的原理:
首先写一个JavaBean,内容是要添加的元素和该元素的节点。
public class NodeBean implements Serializable
{
   
    private Object data; //元素本身
    private NodeBean next; //下一个节点
   
  &n ......

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单例模式


 1、饿汉式
  package singleton;
  /**
  * 饿汉式单例
  * @author 蒋明原
  *
  */
  public class HungrySingleton {
  /**jvm保证instance只被初始化一次*/
  private static HungrySingleton instance = new HungrySingleton();
  /**阻止外部使用new实例化对象*/
  private Hun ......

用Java代码查看系统默认字符集编码

public class EchoDefaultSystemEncoding
{
    public static void main(String[] args)
    {
           String encoding = System.getProperty("file.encoding");
           System ......

Java数据报编程之组播


在信息时代,网络技术应用已非常普通。其中非常多应用都依赖于从一个主机向多个主机或从多个主机向多个主机发送同一信息的能力,在Internet上分发的数目可能达数十万台,这些都需要更高的带宽,并且大大超出了单播的能力。一种能最大限度地利用现有带宽的重要技术是IP组播。
1.IP组播技术的概念
IP组播技术,是一种允 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号