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

Java记录 -28- String Literals字面值

时间:2015-09-13 20:04:56      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:string literals   java记录   字面值   

String Literals (Java语言规范Java Language Specifications

The program consisting of the compilation unit : 

package testPackage;

class Test {

    public static void main(String[] args) {

        String hello = "Hello", lo = "lo";

        System.out.print((hello == "Hello") + " ");

        System.out.print((Other.hello == hello) + " ");

        System.out.print((other.Other.hello == hello) + " ");

        System.out.print((hello == ("Hel"+"lo")) + " ");

        System.out.print((hello == ("Hel"+lo)) + " ");

        System.out.println(hello == ("Hel"+lo).intern());

    }

}

class Other { static String hello = "Hello"; }

and the compilation unit:

package other;

public class Other { public static String hello = "Hello"; }


produces the output:

true true true true false true


This example illustrates six points:

1). Literal strings within the same class in the same package represent references to the same String object . 

2). Literal strings within different classes in the same package represent references to the same String object. 

3). Literal strings within different classes in different packages likewise represent references to the same String object. 

4). Strings computed by constant expressions are computed at compile time and then treated as if they were literals. 

5). Strings computed by concatenation at run time are newly created and therefore distinct. 

6). The result of explicitly interning a computed string is the same string as any pre-existing literal string with the same contents. 



Java记录 -28- String Literals字面值

标签:string literals   java记录   字面值   

原文地址:http://zlfwmm.blog.51cto.com/5892198/1694325

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