The difference between creating a string obje…

2018-10-06 08:06:12来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

字符串对象构造方法创建和直接赋值的区别?
package com.itheima_02;
/*
 * 通过构造方法创建的字符串对象和直接赋值方式创建的字符串对象有什么区别呢?
 *         通过构造方法创建字符串对象是在堆内存。
 *         直接赋值方式创建对象是在方法区的常量池。
 *         
 * ==:
 *         基本数据类型:比较的是基本数据类型的值是否相同
 *         引用数据类型:比较的是引用数据类型的地址值是否相同
 */
public class StringDemo2 {
    public static void main(String[] args) {
        String s1 = new String("hello");
        String s2 = "hello";
        
        System.out.println("s1:"+s1);
        System.out.println("s2:"+s2);
        
        System.out.println("s1==s2:"+(s1==s2)); //false
        
        String s3 = "hello";
        System.out.println("s1==s3:"+(s1==s3)); //false
        System.out.println("s2==s3:"+(s2==s3)); //true
    }
}

通过构造方法创建字符串对象是在堆内存,直接赋值方式创建对象是在方法区的常量池。字符串的内容是存储在方法区的常量池里面的这样做的目的是为了方便字符串的重复使用。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JPA环境配置(一)

下一篇:spring入门(五) spring mvc+hibernate