字符串的概述

  1. String是Java定义好的一个类。定义在java.lang包中,使用的时候不需要导包
  2. Java程序中的所有字符串文字都是此类的对象
  3. 字符串不可变,它们的值在创建后不能被更改

String的注意点

字符串的内容是不可变的,它的对象在创建后不能被更改
String name1 = "abc";
String name2 = "def";
name3 = name1 + name2;
name3是字符串拼接产生的一个新的字符串abcdef,name2和name3的值没有被修改

即使是赋值
String name1 = "abc";
name1 = "def";

abc并没有被修改,而是创建了一个新的字符串"def"并赋值给了变量name1

直接赋值和创建String对象的区别

直接赋值内存结构
双引号直接赋值的时候,会检查串池

  • 不存在:创建新的
  • 存在:复用

比如:
String s1 = "abc";
String s2 = "abc";

s1和s2都指向串池中同一块"abc"的内存空间

创建String对象的内存结构
每次都会创建一个新的字符串对象

比如:
String s1 = new String("abc");
String s2 = new String("abc");

s1和s2指向的abc分别在两个不同的内存空间中

因此我们通常采用直接赋值的方式,相比于创建String对象,直接赋值更加节省内存空间

posted @ 2026-04-28 11:08  AlexXuu  阅读(3)  评论(0)    收藏  举报