zoukankan      html  css  js  c++  java
  • The difference between creating a string object constructor and assigning it directly

    字符串对象构造方法创建和直接赋值的区别?
    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
        }
    }

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

  • 相关阅读:
    CDN 机制
    canvas绘制旋转图形
    前端资源网站
    css中的em用法
    响应式网页设计【转载】
    闭包与非闭包
    跨域文档之间的访问
    ajax跨域之---服务器端代理实现
    jsonp跨域实现
    freemarker 命名空间
  • 原文地址:https://www.cnblogs.com/lzp123456-/p/9741871.html
Copyright © 2011-2022 走看看