string字符常量的调用分析

先看一段代码:

public class csdn_string {
    public static void main(String[] args) {
        String a = "hello";
        String b = "hello";
        String c = new String("hello");
        System.out.printf("a==b:%b \na==c:%b",a==b,a==c);
    }
}

 结果:

a==b:true 
a==c:false
Process finished with exit code 0

分析;

String = "XXXX";直接赋值会先去字符串常量池中(data区域)查看,如果有就引用;

String = new String("XXXX");不看字符串池。new 关键字创建的对象都是直接在堆中分配内存,新建对象。

上一篇:YgzYYbPzXq


下一篇:bash中的‘‘与$‘‘