String 类型
Posted mike_chang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String 类型相关的知识,希望对你有一定的参考价值。
一、不可变
一个 String 类型的值是不可以改变的,比如,String china = "中国",“中国”这个字符串从它创建开始直到销毁都是不可改变的。
二、字符串常量池
字面量声明的字符串内存都分配在字符串常量池。
String a = "中"; String b = "中"; a == b 和 a.equals(b) 都为 true。
String a = "中国"; String b = "中" + "国"; a == b 和 a.equals(b) 都为 true。
String a = "中国"; String b = "中"; String c = "国"; String d = b + c; System.out.println(a == d); // false System.out.println(a.equals(d));
三、new 的字符串都是一个新的字符串
String a = new String("中"); String b = new String("中"); System.out.println(a == b); // false System.out.println(a.equals(b)); // true
引用 a 和引用 b 指向不同的堆内存空间,这两块不同的堆内存空间又指向同一块字符串常量空间。
以上是关于String 类型的主要内容,如果未能解决你的问题,请参考以下文章