java的String及StringBuffer的常用方法

一、String类的常用方法

1、public int length()

计算字符串长度,

例如:

String s = "我是寒leng的锋";
int length = s.length(); //此时length值为9

2、public boolean equals(String s)

比较当前字符串对象的实体是否与参数s指定实体相同。

例如:

String s1 = new String("we are students");
String s2 = new String("you are students");
String s3 = new String("we are students");
boolean flag1 = s1.equals(s2); //值为false
boolean flag2 = s1.equals(s3); //值为true
boolean flag3 = s1 == s3; //值为false,因为==比较的是引用,equals比较的是实体。

3、public boolean startsWith(String s)与public boolean endsWith(String s)方法

对象调用startsWith(String s)方法。判断当前对象的前缀是否是参数s指定字符串。

对象调用endsWith(String s)方法,判断当前对象的后缀时候是参数s指定字符串。


4、public boolean regionMatches(int firstStart, String orther, int ortherStart, int length)方法

从当前字符串的参数firstStart指定位置开始,取长度为length的一个子串,并将这个子串和参数orther指定的子串进行比较,orther指定的子串是从参数ortherStart指定位置开始,取长度为length的一个子串。若两子串相同,该方法返回true, 否则返回false。

例如:

String s = "entropy;english;client;entropy";
int cnt = 0;
for(int i=0; i<s.length(); ++i){
	if(s.regionMatches(i, "en", 0, 2))
		cnt++;
}
System.out.println("字符串s共出现了" + cnt + "个en");

结果:



5、public int compareTo(String s)方法

对象调用该方法按字典序与参数s指定字符串比较大小。

若当前字符串与s相同,返回0,若当前字符串大于s,返回正值,若小于s,返回负值。


6、public boolean contains(String s)方法

对象调用该方法,判断当前字符串对象是否含有参数s指定字符串,若存在返回true,若不存在,返回false。

例如:

String s = new String("abcde");
boolean flag1 = s.contains("cde");
boolean flag2 = s.contains("acd");
System.out.println("flag1=" + flag1);
System.out.println("flag2=" + flag2);

结果:



7、public int indexOf(String s)方法

对象调用该方法,从当前字符串的头开始检索字符串s,并返回首次出现s的位置,若没有检索到,返回-1。

该方法的重载方法indexOf(String s, int startpoint)

从当前字符串的startpoint位置开始检索字符串s,并返回首次出现s的位置,若没有检索到,返回-1。

例如:

String s = new String("abcde");
int index1 = s.indexOf("cd");
int index2 = s.indexOf("cd", 3);
System.out.println("index1=" + index1);
System.out.println("index2=" + index2);

结果:



8、public String substring(int startpoint)方法

对象调用该方法获得一个当前字符串的子串,该子串是从当前字符串的startpoint处截取到最后所得到的字符串。

该方法的重载方法substring(int start, int end)

获取从当前字符串的start处截取到end-1处所得到的字符串。

例如:

String path = "c:\\cn\\edu\\nuc";
int index = path.indexOf("\\");
index = path.indexOf("\\", index);
String sub = path.substring(index);
System.out.println("sub=" + sub);

结果:



9、public String trim()方法

对象通过调用该方法的到一个当前对象去掉前后空格的字符串的对象。


二、字符串与基本数据的相互转换

1、public static int parseInt(String s)方法

将“数字”字符串转化为int型数据。其他基本数据类型与此相似。

例如:

int x;
String s = "12345";
x = Integer.parseInt(s);


2、public static String valueOf(int n)方法

将int型数据转化为字符串。

例如:

String s = String.valueOf(1234);


3、Long类中的静态方法可以得到整数的各种进制的字符串表示

1)public static String toBinaryString(long n)方法 ,将n转化为二进制

2)public static String toOctalString(long n)方法,将n转化为八进制

3)public static String toHexString(long n)方法,将n转化为十六进制

4)public static String toString(long n, int p)方法,将n转化为p进制


三、字符串与字符数组

String类提供了将字符串存放到数组中的方法

1、public void getChars(int start, int end, char c[], int offset)方法

对象调用该方法将当前字符串从start到end-1的字符复制到数组c中,并从c的offset处开始存放这些字符。必须保证数组c能容纳下要被复制的字符。

例如:

String s = "abcdefg";
char[] c = new char[2];
s.getChars(2, 4, c, 0);
System.out.println(Arrays.toString(c));

结果为:



2、public char[] toCharArray()方法

此方法比第一种方法简练,大必须是全部字符串元素。

例如:

String s = "abcdefg";
char[] c = s.toCharArray();
for(char t:c)
	System.out.print(t);

结果为:


四、StringBuffer类的常用方法

当使用StringBuffer()无参构造方法创建对象时,分配给该对象的实体初始容量可容纳16个字符,当存放字符序列长度大于16时,实体容量自动增加。

当使用StringBuffer(int size)构造方法创建对象时,可指定分配给该对象的实体初始容量为参数size指定的字符个数,超长也可自动增加。

当时用StringBuffer(String s)构造方法创建对象时,可指定分配给该对象的实体初始容量为参数s的长度额外再加16个字符。超长也可自动增加。


1、length()方法与capacity()方法

对象通过length()方法获取实体中存放的字符序列的长度。

通过capacity()方法获取当前实体的实际容量。


2、append方法

1)StringBuffer append(String s)方法

将字符串s追加到当前StringBuffer对象后。

2)StringBuffer append(int n)方法

将一个Int型数据转化为字符串后追加。其他数据类型类似。

3)StringBuffer append(Object o)方法

将一个Object对象的字符串表示追加。


3、public char charAt()方法

得到参数n指定位置上的单个字符。


4、public void setCharAt(int n, char ch)方法

将当前对象的实体中的字符串位置n处的字符用参数ch指定的字符替换。


5、StringBuffer insert(int index, String str)方法

对象使用该方法将参数str指定的字符串插入到参数index指定位置。

例如:

StringBuffer s = new StringBuffer("we like java");
s.insert(2, " all");
System.out.println(s);

结果:



6、public StringBuffer reverse()

将当前对象实体中俄字符翻转。


7、StringBuffer delete(int startIndex, int endIndex)方法

从当前对象实体的字符串中删除从startIndex下标开始至endIndex-1下标的子字符串,

deleteCharAt(int index)方法删除参数index指定下标处的一个字符。


8、StringBuffer replace(int startIndex, int endIndex, String str)方法

将当前对象的字符串从startIndex开始至endIndex-1的子字符串被str替换。

例如:

StringBuffer s = new StringBuffer("we like java");
int index = s.indexOf("java");
s.replace(index, s.length(), "apple");
System.out.println(s);

结果为:




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值