Java-字符串_String
一、概述
1.导包说明
String类在java.lang包下- 所以使用的
不需要导包
2.概念
String类代表字符串- Java程序中所有的
双引号字符串,都是String类的对象 - Java程序中所有字符串文字(如:"ABC")都被实现为此
类的实例
3.特点
字符串不可变,它们的值在创建后不能被更改- 虽然String的值不可变,但是他们
可以被恭喜 - 字符串效果上相当于字符数组:
char[] - 底层原理是字节数组:
byte[]- jdk8及以前是
字符数组,jdk9后是字节数组
- jdk8及以前是
二、String类_构造方法
1.说明

2.代码
package nsys.stringStudy;
/**
* @Author: nsys
* @Date: 2021-10-06 20:06
* @Description: String_构造方法
*/
public class StringDemo01 {
public static void main(String[] args) {
/*
结果:
s1:不含任何内容
s2:abc
s3:abc
s4:abc
推荐:
直接赋值的方式
*/
// 创建一个空白字符串对象,不含任何内容
String s1 = new String();
System.out.println("s1:" + s1);
// 根据字符数组的内容,来创建字符串对象
char[] chs = {'a','b','c'};
String s2 = new String(chs);
System.out.println("s2:" + s2);
// 根据字节数组的内容,来创建字符串对象
byte[] bys = {97,98,99};
String s3 = new String(bys);
System.out.println("s3:" + s3);
// 直接赋值的方式来创建字符串对象
String s4 = "abc";
System.out.println("s4:" + s4);
}
}
三、内存空间
1.说明
通过new创建的字符串对象
- 每一次
new都会申请一个内存空间 - 虽然
内容相同,但是地址不同
通过""创建的字符串对象
- 只要
字符序列相同(顺序和大小写) - 无论在程序代码中出现几次,
JVM都只会建立一个String对象 - 并在
字符串池中维护
2.图示


浙公网安备 33010602011771号