java处理字符串

      java将字符串当作一种String类型对象来处理,当创建一个String对象时,被创建的字符串是不能被修改。但我们仍能够执行各种类型的字符串操作,每次需要改变字符串时都要创建一个新的String对象来保存保存新的内容,原始的字符串不能改变。好处就是采用固定的,不可变的字符串比实现可变字符串更高效。要的到可变的字符串,可用创建StringBuffer类型对象。String类和StringBuffer类都在java.lang中定义,可以自动被所有程序利用,且二者都被定义为final,不包含子类。
      String构造函数,String s = new String();创建一个不不包含字符的String实例;char chars[] = {'a','b','c'};String s = new String(chars);这个构造函数用字符串“abc”初始化s。String(char chars[],int startIndex,int numChars);startIndex指定了子区域开始下标,numChars指定所用字符的个数。 当从一个数组创建一个String对象时,数组的内容将被复制。在字符串不创建以后,如果改变数组的内容,String将不会随之改变。
      字符串的长度,是指字符串所包含的字符个数,调用length()方法可以得到这个值。
char chars[] = {'a','b','c'};String s = new String(chars);System.out.println(s.length());//输入3
特殊的字符串操作,通过 +运算符连接多个String对象以及将其他的数据类型转换成字符串形式。
字符串截取,和数组一样,字符串的下标从0开始。1,通过charAt()方法直接引用但个字符,char chartAt(int where);2,getChars()一次截取多个字符,void getChars(int sourceStart, int sourceEnd,char target[],int targetStart)
Class getCharsDemo(){
public static void main(String args[]){
String s = "This is a demo of the getChars method";
int start = 10;
int end = 14;
char buf[] = new char[end - start];
s.getChars(start,end,buf,0);
System.out.println(buf);//demo
}
}
3,getBytes()方法,是实现将字符存放于字节数组中,使用平台提供的默认字符到字节的转换。在将字符串(String)值输出到一个不支持16 位Unicode编码的环境时,getBytes()是最有用的。例如,大多数Internet协议和文本格式在文本交换时使用8为ASCII编码。4, toCharArray()将字符串(String)对象中的字符转换为字符数组,也可以使用getChars()方法获得相同的结果。
     字符串比较,equals()和equalslgnoreCase(),比较两个字符串是否具有相同的字符和长度,前者区分大小写,或者不区分大小写; equals()和==的区别是equals()方法比较字符串(String)对象中的字符,而==运算符比较两个对象引用看他们是否引用相同的实例; regionMatches()方法将一个字符串中指定的区间和另一字符串中指定的区间进行比较,boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars),boolean regionMatches(boolean ignoreCase,int startindex,String str2,int str2StartIndex,int numChars),numChars是比较字符串的长度,如果ignoreCase是true,字符串的大小写被忽略。否则,大小写是有意义的。 startsWith()方法判断一个给定的字符串(String)是否从一个指定的字符串开始,endsWith()方法判断一个给定的字符串 (String)是否从一个指定的字符串结束.boolean startsWith(String str);boolean startsWith(String str,int startIndex);boolean endsWith(String str);使用compareTo()和compareToIgnoreCase()方法判断两个字符串的大小,ignore不区分大小写,int compareTo(String str);小于0,调用字符串小于str,大于0,调用字符串大于str,等于0,两个字符串相等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值