java自学 part3 String + StringBuffer

String

1.字符串与字符数组可以互相交换

public String(char value[]) 构造,将字符数组中的所有内容变为字符串 String str = new String(value);

public String(char value[],int offset, int count)构造,将部分字符数组中的内容变为字符串 String str = new String(value,0,5) 从位置0开始,获取五个字符作为字符串,注意的是count不能超出数组的范围

public char charAt(int index) 取得指定索引位置的字符,索引从零开始 例 :char a = str.charAt(1);

public char[] toCharArray() 将字符串作为字符数组返回 char[] data = str.toCharArray()

同样的,我们可以将字节数组和字符串进行互相交换,

字节数组构造字符串方法与上面的相似,看看其他:

public byte[] getBytes() 将字符串以自己的数组的形式返回 str.getBytes();

public byte[] getBytes(String str) 编码转换处理

字符串的常见操作:

public boolean equals(object anObject) 区分大小写的比较

public boolean equalsIgnorecase(String anotherSrting) 不区分大小写的比较

public int compareTo(String anothertString ) 比较两个字符串的大小 相等0,大 返回大于0,小 返回小于0

字符串的查找:

public boolean contans(CharSequece s) 判断一个子字符串是否存在

public int indexOf(String str ) 从头开始查找指定字符串的位置,查到了返回位置的开始索引,查不到返回-1

public int indexOf(String str,int fromIndex) 从指定位置开始查找子字符串的位置

给indexOf前面加上last ,即从后向前查找一个字符拆的位置。以上两个方法均可改写。

startsWith(string str) 判断是否存在以指定字符串开头。

startsWith(string str,int offset) 从指定位置判断是否以指定字符串开头

endsWith(String str) 判断是否以指定字符串结尾

字符串的替换

replace(String regex,String replacement) 替换所有的指定内容,用后面的替换前面的

replaceFirst(string regex,String replace)替换首个内容

字符串的拆分:

String[] split(String regex) 将字符串全部拆分,返回一个字符串的数组

String str = “hello world hello bit” ;String[] result = str.split(" ") ;for(String s: result) {System.out.println(s);}

String [] split(String regex, int limit ) 将字符串部分拆分,该数组长度就是limit极限

这个方法比较难理解,我们举一个例子:

String str = “hello world hello bit” ;String[] result = str.split(" ",3) ;for(String s: result) {System.out.println(s);}

输出为:

字符串截取:

String substring(int beginIndex) 从指定位置截取到结尾

String substring(int beginIndex,int endIndex) 截取区间内容,左闭右开

其他方法;

String trim() 去掉字符串中的左右空格,保留中间的空格

String toUpperCase() 字符串转大写

String toLowerCase() 字符串转小写

String intern() 字符串入池操作

String concat(string str ) 字符串连接,等同于”+“,不入池

int length() 取得字符串长度

boolean isEmpty() 判断字符串是否为空字符串,但不是null,而是字符串的长度为0

StringBuffer

任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。

通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和StringBuilder类。

1.在String中用"+"来进行字符串连接,但是这个操作在StringBuffer类中需要更改为append()方法:

StringBuffer append(各种数据类型 num)

String和StringBuffer最大的区别在于:String的内容无法修改,而StringBuffer的内容可以修改。频繁修改字符串的情况考虑使用StingBuffer。

注意:String和StringBuffer类不能直接转换。如果要想互相转换,可以采用如下原则:String变为StringBuffer:利用StringBuffer的构造方法或append()方法

StringBuffer变为String:调用toString()方法。

StringBuffer 有的方法;

StringBuffer reverse() 字符串的反转

StringBuffer delete(int start,int end) 删除指定范围的数据

String,与StringBuffer、StringBuilder的区别:

1.String的内容不能修改,StringBuffer与StringBuilder的内容可以修改。

2.StringBuffer和StringBuilder的大部分功能是相似的。

3.String 采用同步处理,属于线程安全操作;而StringBuilder采用异步处理,属于线程不安全操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值