码迷,mamicode.com
首页 > 编程语言 > 详细

java.lang.String细节

时间:2014-04-29 11:28:46      阅读:391      评论:0      收藏:0      [点我收藏+]

标签:style   http   java   color   使用   os   

String field;
@Test
public void test01() {
    String a = "aaa";
    String b = "aaa";
    String c = new String("aaa");
    String d = new String("aaa");
    System.out.println(a == b);       //output: true
    System.out.println(a == "aaa");   //output: true
    System.out.println(a==c);       //output: false
    System.out.println(c==d);       //output: false
 
    String local;
    System.out.println(field);
    System.out.println(local);      //无法通过编译
}

----------------------------
System.out.println(a == b);       //output: true
System.out.println(a == "aaa");   //output: true
以上两句代码说明:
   当使用非new方式来创建一个字符串对象s时,Java虚拟机会拿着这个s在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串s,否则,不在池中添加。

System.out.println(a==c);       //output: false
System.out.println(c==d);       //output: false
以上代码说明:
只要使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。

System.out.println(field);
System.out.println(local);      //无法通过编译
以上代码说明:
在域变量中,String s; 与 String s = null; 是等价的,但是是局部变量中String s;声明的变量s是无法直接使用的。





java.lang.String细节,码迷,mamicode.com

java.lang.String细节

标签:style   http   java   color   使用   os   

原文地址:http://www.cnblogs.com/daojoo/p/3698816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!