2022.0423学习Java笔记之String类

本文探讨了Java String类的特殊性,包括通过直接赋值和构造方法的区别、字符串池与内存管理,以及一系列核心方法如字符操作、编码转换、字符串查找与替换。重点介绍了String对象的不可变性和高效操作技巧。
摘要由CSDN通过智能技术生成

基本概念

String类是一个较为特殊的类,而这个类的对象可以使用两种模式进行实例化

  • 直接赋值        例如:String  str = "Hello"
  • String本身是一个类,是类就会有构造方法,String类提供了一个构造方法:public String(String str)

字符串比较

在引用数据类型操作之中,使用“==”比较的是地址数值,但是比较也有用的内容,所以String提供一个比较方法:public boolean equals(String str)

String类两种实例化区别

String类不同直接赋值会保存在一个字符串池里面,而使用构造方法实例化String类是会开辟两块空间,其中有一块是垃圾空间,但在String类里面提供了入池方法:public String intren()

字符串一旦声明,则内容不可改变

字符串的改变依靠的是“地址引用关系”的改变而改变,这样不仅性能差,还会产生大量垃圾空间

 

String类常用方法

其中1~4是字符串与字符有关的,5~8是字符串与字节有关,9~11是字符串比较有关,12~19是字符串查找有关,20~21是字符串替换有关的,22~23是字符串拆分有关,24~25是字符串截取有关,26~32是其他方法

No

方法名称

类型

描述

1

Public String(char[] value)

构造

将指定字符数组变成字符串

2

public String(char[] value, int offset, int count)

构造

将指定范围字符数组变成字符串

3

public char charAt(int index)

普通

取得字符串中指定索引位置的字符

4

public char[] toCharArray()

普通

将字符串变为字符数组

5

public String(byte[] bytes)

构造

将字节数组变为字符串

6

public String(byte[] bytes, int offset, int length)

构造

将指定范围字节数组变为字符串

7

public byte[] getBytes()

普通

将字符串变为字节数组

8

public byte[] getBytes(String charsetName)throws UnsupportedEncodingExceptione

普通

编码转换

9

public boolean equals(String anObject)

普通

判断两个字符串是否相等,区分大小写

10

public boolean equalsIgnoreCase(String anotherString)

普通

判断两个字符串是否相等,不区分大小写

11

public int compareTo(String anotherString)

普通

比较两个字符串的大小关系

12

public boolean contains(String s)

普通

判断字符串是否存在

13

public int indexOf(String str)

普通

从头查找字符串的指定位置,如果找到返回位置索引,找不到返回-1

14

public int indexOf(String str, int fromIndex)

普通

从指定位置由前向后查

15

public int lastIndexOf(String str)

普通

从后向前查找指定字符串位置

16

public int lastIndexOf(String str, int fromIndex)

普通

从指定位置由后向前查找字符串位置

17

public boolean startsWith(String prefix)

普通

判断是否以指定的字符串开头

18

public boolean startsWith(String prefix, int toffset)

普通

从指定位置判断是否以指定字符串开头

19

public boolean endsWith(String suffix)

普通

判断是否以指定字符串结尾

20

public String replace All(String regex, String replacement)

普通

全替换

21

public String replaceFirst(String regex, String replacement)

普通

替换首个

22

public String[] split(String regex)

普通

全拆分

23

public String[] split(String regex, int limit)

普通

部分拆分

24

public String substring(int beginIndex)

普通

由开始截取到结尾

25

public String substring(int beginIndex, int endIndex)

普通

设置开始和结束索引进行截取

26

public String concat(String str)

普通

字符串连接

27

public String intern()

普通

如池

28

public boolean isEmpty()

普通

判断是否是空字符串

29

public int length()

普通

取得字符串长度

30

public String toIowerCase()

普通

转小写

31

public String toUpperCase()

普通

转大写

32

public String trim()

普通

去掉左右空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值