JavaSE小笔记--12(字符串String补充)

1.String字符串类的获取功能

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

 char charAt(int index):获取指定索引位置的字符

 int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。

 int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。没有就返回-1

 int indexOf(int ch, int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。

 int indexOf(String str, int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引。

 String substring(int start):从指定位置开始截取字符串,默认到末尾。

 String substring(int start, int end):从指定位置开始到指定位置结束截取字符串。(左闭右开,包含头不包含尾)

2.String类的转换功能

byte[] getBytes():把字符串转换为字节数组。

char[] toCharArray():把字符串转换为字符数组。

static String valueOf(char [] chs):把字符数组转成字符串。

static String valueOf(int i):把int类型的数据转成字符串。

注意: string类的value)f方法可以把任意类型的数据转成字符串。

String toLowercase():把字符串转成小写。(了解)

String toUppercase():把字符串转成大写。

String concat(String str):把字符串拼接。感觉"+"更好用

3.String类的其他功能

A: String的替换功能

String replace(char old, char new)

String replace(String old, String new)

B: String的去除字符串两空格

String trim()

C: String的按字典顺序比较两个字符串及案例演示

int compareTo(String str)(暂时了解一下)

int compareToIgnoreCase(String str)(了解),忽略大小写

4.Stringbuffer类

(1)线程安全的可变字符序列

    String和StringBuffer的区别——String是一个不可变的字符序列,而SrtingBuffer是一个可变的字符序列

(2)StringBuffer的构造方法

public StringBuffer():无参构造方法

public StringBuffer(int capacity):指定容量的字符串缓冲区对象

public StringBuffer(String str):指定字符串内容的字符串缓冲区对象

StringBuffer的方法:

public int capacity():返回当前容量。理论值(不拿握)

public int length():返回长度(字符数),实际值

(3)StringBuffer的添加功能

public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身

public StringBuffer insert(int  offset,String str):在指定位置把任意类型的数据插入到字符串缓冲中区里面,并返回字符串缓冲区本身,现在说的这个方法只是举例.需要注意的是:如果在指定位置添加元素,没有指定位置的索引就会报索引越界异常.

StringBuffer是字符串缓冲区,当new的时候是在堆内存创建了一个对象,底层是一个长度为16的字符数组,当调用添加的方法时,不会再创建新对象,在不断向原缓冲区添加字符

(4)StringBuffer的删除功能

public StringBuffer deleteCharAt (int index):删除指定位置的字符,并返回本身

public StringBuffer delete(int start, int end):删除从指定位置开始指定位置结束的内容,并返回本身,左闭右开

清空缓冲区    :    sb.delete(0,sb.length());

(5)tringBuffer的替换和反转功能

public StringBuffer replace(int start,int end,String str):从start开始到end用str替换,左开右闭.

public StringBuffer reverse():字符串反转

(6)StringBuffer的截取功能

public String substring(int start):从指定位置开始截取到末尾。

public String substring(int start; int end):从指定位置开始到指定位置结束截取字符串。(左闭右开,包含头不包含尾)

注意:返回值类型不再是StringBuffer本身了

(7)String和StringBuffer 的相互转换

String——>StringBuffer :

通过构造方法;通过append()方法

StringBuffer ——>String

通过构造方法;通过toString()方法;通过substring(0,length)方法

5.StringBuffer 和 StringBuilder 的区别

StringBuffer和 StringBuilder的区别

StringBuffer是dk1.0版本的,是线程安全的,效率低

StringBuilder是dk1.5版本的,是线程不安全的,效率高


StringBuffer,StringBuilder都是可变的字符序列


String和 StringBuilder分别作为参数传递

String作为参数传递,String虽然是引用类型,但是当它作为参数传递时和基本数据类型一样,不改变其原值


StringBuffer作为参数传递,如果在方法中改变了其值,其原值改变


猜你喜欢

转载自blog.csdn.net/xiaodunlp/article/details/80529646
今日推荐