谢霆锋高圆圆,qq水浒点亮图标,花名及图片
字符串对象构造方法创建和直接赋值的区别? 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 } }
通过构造方法创建字符串对象是在堆内存,直接赋值方式创建对象是在方法区的常量池。字符串的内容是存储在方法区的常量池里面的这样做的目的是为了方便字符串的重复使用。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论