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

java中equals和==的区别

值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
==比较的是2个对象的地址,而equals比较的是2个对象的内容。
显然,当equals为true时,==不一定为true;
一、String中的equals和==
1、
public class TestString {
     public static void main(String[] args) {
         String s1 = "Monday";
         String s2 = "Monday";
     }
}
上面这段程序中,到底有几个对象呢?
来检测一下吧,稍微改动一下程序
public class TestString {
     public static void main(String[] args) {
         String s1 = "Monday";
         String s2 = "Monday";
         if (s1 == s2)
             System.out.println("s1 == s2");
         else
             System.out.println("s1 != s2");
     }
}
编译并运行程序,输出:s1 == s2
说明:s1 与 s2 引用同一个 String 对象 -- "Monday"!
2.
再稍微改动一下程序,会有更奇怪的发现:
public class TestString {
     public static void main(String[] args) {
         String s1 = "Monday";
         String s2 = new String("Monday");
         if (s1 == s2)
             System.out.println("s1 == s2");
         else
   &nb


相关文档:

传智播客java学习 基础加强 泛型

今天我听了佟刚老师讲的基础加强课程,我对此做了简单的记录:
                佟老师讲了以下知识点
1. 枚举:
       1). 在枚举类中显式列出枚举类的所有实例必须放在第一行!
    & ......

传智播客java学习 Servlet通信

我今天学习了Servlet之间的通信jsp的基础知识;我做了简单的笔记:
一、Servlet通信:
a)         (不用超级链接)从一个Servlet转到另一个Servlet:
                   &n ......

传智播客java学习 el表达式

我今天学习了工厂模式和El表达式,我做了简单的笔记;
1.         工厂模式:简单工厂模式:工厂方法模式;抽象工厂模式
2.         简单工厂模式:(itcastsimpleFactroy)
a)         开闭 ......

传智播客java学习 自定义标签

1.         简单标签,标签处理类要实现simpletag(javax.servlet.        jsp.tagext.jspTag 接口)
a)         正常标签、空标签,嵌套标签,
2.         Si ......

原创+源码 基于Java Web技术开发的BBS论坛系统

 本文转自:程序员之家论坛  原文地址:http://www.phome.asia/forum/thread/20601.htm
 
我已把附件上传到csdn下载频道地址:http://download.csdn.net/source/1928015
            也可去原文地址下载附件。(*^__^*)
前 言
  &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号