zoukankan      html  css  js  c++  java
  • 字符串对象构造方法创建和直接赋值的区别

    /*   
     *    通过构造方法创建的字符串对象和直接赋值方式创建的字符串对象有什么区别呢?
     *      区别是:通过构造方法创建的字符串对象是在堆内存。通过赋值创建的字符串对象是在方法区的常量池
     *      
     *   ==
     *      基本数据类型:比较的是基本数据类型的值是否相同
     *      引用数据类型:比较的是引用数据类型的地址值是否相同   (String是引用类型)
     */
    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);
            //比较的是2个对象的地址
            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
        }
    
    }

    字符串的内容是存储在方法区的常量池里面的,是为了方便字符串的重复使用

  • 相关阅读:
    qt串口
    视频笔记
    视频笔记3
    视频笔记2
    视频笔记1
    将VariantMap添加到数据库
    QT5.9笔记
    li里面input框贴顶
    html增加空格
    linux图形化界面管理工具宝塔面板
  • 原文地址:https://www.cnblogs.com/long-holiday/p/10136010.html
Copyright © 2011-2022 走看看