(java) String 字符串

前言
本篇内容不多,单独介绍java中的字符串String,介绍了字符串的存储原理(辅助理解),以及其主要使用的方法,同时也介绍了StringBuilder可变字符序列

1. String 字符串

字符串一旦创建,就不可改变—引出常量池。

常量池概念:字符串的存储是在堆中的常量池中,当java创建一个字符串时,先到常量池寻找有没有相同的字符串,如果有,就会直接使用字符串的地址,如果没有,就在常量池中创造一个字符串。

对于常量池的理解:下面例子中的str1和str2
在这里插入图片描述

如果是出现了开辟新空间的情况:下面例子中的str3和str2

在这里插入图片描述

案例:
此处如果对使用==比较字符串有疑问,本篇最后补充了一道面试小题来解释这一点

//根据输出结果,解释原理
        String str1 = "123";
        String str2 = "123";
        System.out.println(str2 == str1);//true 常量池

        String str3 = new String("123");
        System.out.println(str2 == str3);//false 新开辟空间后,使用常量池中字符串存储到新地址

        String str4 = "1";
        String str5 = str4 + "23";
        System.out.println(str5 == str1);//false 只要使用了+连接符,就可以认为是new了一个新的字符串

        String str6 = "1"+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值