字符串02-创建string发的两种方式

文章介绍了Java中创建字符串对象的几种方法,包括直接赋值、使用new关键字以及通过字符数组和字节数组。同时强调了字符串对象的不可变性,以及如何通过字符数组修改字符串内容。此外,文章还提到了堆内存中的串池,即字符串常量池,解释了双引号赋值时系统的检查机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建string对象的两种方式

  • 01直接赋值

  • 02new 关键字 构造方法

public class S2 {
    public static void main(String[] args) {
        //直接获取一个字符串
        String s = "小橙是大帅哥!";
        System.out.println(s);

        //创建一个空的字符串
        String s1 = new String();
        System.out.println("*" + s1 + "*");

        //传递一个字符串根据,根据传递的字符串内容再创建一个字符串对象(确实是脱裤子放屁)
        String s2 = new String("123");
        System.out.println(s2);

        //传递一个字符串数组,根据字符串数组的内容再创建一个新的字符串对象
        char[] s3 = {'a','b','c','d'};
        String s4 = new String(s3);
        System.out.println(s4);

        //创建一个字节数组,根据字节数组的内容再创建一个新的字符串对象
        //应用场景:以后网络当中传输的数据都是字节信息
        //一般要把字节信息转换为字符串,会用到这种方式
        byte[] s5 = {45,85,89,62,54};
        String s6 = new String(s5);
        System.out.println(s6);

    }
}
运行结果
小橙是大帅哥!
**
123
abcd
-UY>6

2.修改字符串的方法

一般字符串创建之后是不允许修改的

  1. 首先将字符串的内容变为字符数组

“abc” = {‘a’,‘b’,‘c’};

数组的值是可以变化的直接自改数组就可以了

然后根据上面的第四条方法,将其拼接为字符串就可以了

3.创建对象的内存图

复习回顾一下

栈内存:方法运行的时候进栈,执行完毕出栈

堆内存:new出来的对象都是在堆内存中

新学

string table(串池)

当双引号进行赋值时,系统会自动检查数据是否在堆内存中的串池,如果不在重新创建,如果在直接复用

只要new一次就会在堆内存中开辟一个新的空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值