JAVA-String

本文介绍了Java中的字符串常量池及其在String和StringBuilder创建中的应用。强调了String的不可变性与可变字符串StringBuilder的使用场景,指出在实际开发中,对于频繁使用的字符串内容,String由于串池优化更优。
摘要由CSDN通过智能技术生成

String是内存的常量,值在内存中一旦创建,不可改

创建方式:

1:直接双引号赋值

String 引用名="值";

2:构造赋值

String 引用名=new String("值");

串池

全程为:字符串常量池

在实际开发中,字符串是使用频率最高的数据类型,且复用度也很高,为了避免重复的字符串内容反复创建造成空间资源浪费,所以在方法区中设立了串池,目的是为了节省空间

区别:

1:第一种创建方式:

优先使用串池,先从串池中查找有无对应字符串内容,若有,则会让引用直接指向对应的串池地址,若无,则会现在串池中创建该字符串的内容,然后再让引用指向

2:第二种创建方式:

无论如何都会开辟对象空间地址,开辟完对象空间之后,进入串池查找内容是否存在,若存在,则直接存放对应的串池地址,若不存在,则现在串池中创建该内容,然后再存放串池地址

可变长字符串

值可改:

1:StringBuffer:JDK1.0       线程安全,效率低

2:StringBuilder   JDK5.0         较StringBuffer来说线程不安全,效率高

特点:

必须通过构造创建

所有字符串内容操作必须借助方法完成

与String的区别

1:String是内存中常量,值不可改,可变长字符串值可改

2:String可以使用串池,可变长字符串无法使用串池

实际开发中,对一个字符串内容反复使用的频率要远远高于更改的频率,所以可以使用串池的String要优于可变长字符串

String的常用方法

String 引用名.方法名(实参);

1:char chatAt(下标):获取指定下标位置的元素

2:boolean contains(字符串):判断当前字符串是否包含指定内容

3:boolean endsWith(字符串):判断字符串是否以指定内容结尾

4:boolean starsWith(字符串):判断字符串是否以指定内容开头

5:boolean equals(字符串):判断字符串内容是否相同,区分大小写

6:boolean equalsignoreCase(字符串):判断字符串内容是否相同,不区分大小写

7:String toUpperCase():转全大写

8:String toLowerCase():转全小写

9:int length(字符串):获取字符串长度

10:int indexOf(字符串):获取指定内容第一次出现的下标

11:int lastIndexOf(字符串):获取指定内容最后一次出现的下标

12:boolean isEmpty():判断字符串内容是否为空,不能判比null值

13:String replace(旧字符串,新字符串):将字符串指定旧内容替换为新内容,全部替换

14:String[] split(字符串分隔符):将字符串按照指定分隔符进行分割,不保留分隔符

15:String subString(起始下标):将字符串从起始下标截取至末尾

16:String subString(起始下标,结束下标):将字符串从起始下标截取至结束下标前一位

17:String trim():去除字符串前后空格

18:byte[] getBytes():以byte数组的形式返回字符串的内容

19:char[] toCharArray():以char数组的形式返回字符串的内容

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值