黑马程序员_11String类

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

 String类:适用于描述字符串,它提供了多个方法对字符串进行操作


字符串是一个特殊的对象,一旦初始化就不可以被改变。

(“”)英文字符双引号括起来的一串字符,String类的常量对象,存在与方法区常量池中,相同的字符串只在常量池中有一个引用。

String相当于char[]数组的包装类,String内部以final常量char[]数组的形式存储。

常见操作方法:

1获取:

1.1  返回值int      length()  //获取长度

1.2  返回值char   charAt(int index):   //根据位置获取位置上的字符

1.3  返回值int      indexOf(int char)  //接收ASCI码,返回ch在字符串中第一次出现的位置

  indexOf(int ch,int fromIndex)//从指定位置开始,返回ch在字符串中第一次出现的位置

  indexOf(String str)   //返回str字符串第一次在字符串中出现的位置

  indexOf(String str,fromIndex)//从指定角标位置开始获取str在字符串中出现的位置

  lastIndexOf(String ch,fromIndex)//查找ch最后一次出现的位置的角标

2判断

2.1  返回值boolean     contains(str) //判断字符串中是否包含某一个字符串

2.2        isEmpty() //判断字符串是否有内容,其实就是判断该字符串是否长度为0

2.3        startsWith(str) //是否以 指定内容str开头  

2.4         endsWith(str)//是否以指定内容 str结尾

2.5         equals(str)//判断字符串的内容是否相同,其中复写了Object类中的equals方法

2.6         equalsIgnoreCase(str)//判断内容与str是否相同,忽略大小写

3转换:

3.1 String(char[]) //将字符数组转成字符串 |String(char[],offset,count) //将字符数组中一部分从offset位置开始,count的个数转为字符串

3.2 toCharArray() //将字符串转成字符数组

3.3 String(byte[],offset,count) //将字节数组从offset的位置开始count个数转成字符串

3.4 getBytes() //将字符串转成字节数组

3.5 valueOf() //静态方法,将基本数据类型转成字符串,int,double,float... //最简单方法  XXX+""

4替换:

replace(old,new) //将字符串中某值换成新值,如果替换值不存在就返回原串

5切割:

split(regex) //将某字符串按照给定的规则进行切割,或者按照某char值进行切割

6子串:

substring(begin,end) //获取字符串的一部分,从begin位置开始,到end结束,不包括end

7转换,去除空格,比较

7.1 toUpperCase()//转成大写字母; toLowerCase()//转成小写字母

7.2 trim(); //将字符串两端多余的空格去除

7.3 compareTo(String) //对两个字符串进行自然顺序的比较,返回值INT


StringBuffer类:字符串缓冲区,是一个容器。

特点:长度是可变的;可以直接操作多个数据;最终会通过toString方法变成字符串。

常用操作:增删改查

存储:

append()将制定数据作为参数,添加到已有数据的结尾处,返回新的StringBuffer

insert(index,数据)可以直接将数据插入到指定index位置。

删除:

delete(startend)删除缓冲区中的数据,包括start,不包括end。返回一个新的StringBuffer对象

deleteCharAt(index)删除指定位置的字符。返回一个新的StringBuffer对象

获取:

charAt(int index): 返回此序列中指定索引处的char值。

indexOf(String str): 返回第一次出现的指定子字符串在该字符串中的索引int

lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引int

length()返回长度(字符数)int

substring(int start,int end)返回一个新的String,它包含此序列当前所包含的字符子序列。

修改:

reverse()将此字符序列用其反转形式取代。

replace(start ,end ,String)使用给定String中的字符替换此序列的子字符串中的字符。

setCharAt(int index,char ch)将给定索引处的字符设置为ch

 

StringBuilder类:jdk1.5后出现,一个可变的字符序列。此类提供一个与StringBuffer兼容的 API,但不保证同步,StringBuffer是线程同步。该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer要快。

注意:StringBuilder的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer

StringBuilderStringBuffer功能完全一样,区别在于StringBuffer是线程同步的,而StringBuilder是线程不同步的,Stringbuilder效率更高。

 

|---升级三个因素:

1、  提高效率

2、  简化书写

3、  提高安全性

 

 

 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值