黑马程序员——Java基础——String类、StringBuffer和StringBuilder

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

String类被final修饰符所修饰,所以它没有子类。
一旦被初始化就不可以被改变。
String类复写了Object类的的equals方法,用于判断字符串的内容是否相同。

String类常见的操作有:
一、获取:
1、字符串的长度:int length( ) (注意:带括号的)
2、获取位置上的某个字符:char charAt ( int index )
3、获取字符在字符串中的位置:int indexOf ( int ch ) (注意: 返回的是第一次出现的位置) 如果查找不到,返回 -1
int indexOf ( int ch , int fromIndex ) (从指定的索引开始搜索)
int indexOf ( String str ) (查找子字符串第一次出现的位置)
int indexOf ( String str , int fromIndex ) (从指定索引开始查找)
lastIndexOf ( int ch ) (查处该字符从最右边出现的索引)
lastIndexOf (int ch , int fromIndex )

二、判断:
1、字符串中是否包含一个子串:contains ( str )
2、字符串中是否有内容:isEmpty( )
3、字符串是否以指定的内容开头:boolean startsWith ( str )
4、字符串是否心指定的内容结尾:boolean endsWith ( str )
5、字符串中内容是否相同:复写Object中的equals 方法,equals ( str )
6、忽略大小写进行判断:equalsIgnoreCase ( )

三、转换:
1、将字符数组转成字符串:通过构造函数 new String ( char [ ] )
或者字符数组的一部分: new String ( char [ ] , offset , count )
如果是返回静态字符串,copyValueOf ( char [ ] )

2、字符串转成字符数组:char [ ] toCharArray( )
3、字节数组转成字符串: new String ( byte [ ] )
new String ( byte [ ] , offset , count )

4、字符串转成字节数组:byte [ ] getByte ( )

5、将基本数据类型转成字符串:
static String valueOf ( int )
static String valueOf ( double )

注意:字符串和字节数组在转换过程中,可以指定编码表。

四、替换: String replace (oldchar , newchar )
String replace ( oldString , newString)

五、切割:String [ ] split ( regex ) regex可以是符号如逗号之类

六、获取字符串中的一部分子串:String substring ( begin ) 指定位置到结尾 String substring ( begin , end ) 这里在限定头尾范围,不包含end位置字符

七、转换、去除空格、比较:
1、将字符串转成大写或者小写:String toUpperCase ( )
String toLowerCases ( )
2、将字符串两端的多个空格支除:String trim( )
3、对两个字符串进行自然顺序的比较:
int compareTo ( String ) 返回ASCII 值差,(正数、0 或负数)

StringBuffer 是字符串缓冲区,它是一个容器
特点如下:
1、长度是可变化的;
2、可以直接操作多个数据类型
3、最终会通过 toString 方法变成字符串

一、存储:StringBuffer append( ) 添加数据到结尾处

二、删除:delete ( start , end ) 包含start , 不包含 end
deleteCharAt ( index ) 删除指定位置的字符

三、获取: char charAt ( index )
int indexOf ( )
int length ( )
String subString ( start , end )

四、修改:StringBuffer replace ( start , end , String ) 修改特定子串
void setCharAt ( int index , char ch ) 修改特定字符

五、反转:StringBuffer reverse ( )

六、 将缓冲区中的指定数据存储到字符数组中:
void getChars ( int srcBegin , int scrEnd , char [ ] , dstBegin )

StringBuilder 其实是跟 StringBuffer 差不多,它是在JDK1.5 版本后出现的
它跟StringBuffer 的区别是:StringBuffer 线程同步,而 StringBuilder 线程不同步,如果是单线程的话,建议用 StringBuilder,因为效率会高点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值