您的位置:首页 > 编程语言 > Java开发

Java字符串简单练习

2016-01-21 23:45 489 查看
一、String类:

public class Demo {
public static void main(String[] args) {
String str = " This is a string test!";//注意前面有个空格
System.out.println(str);

//substring()方法表示获取子串
String subStr1 = str.substring(3);
System.out.println(subStr1);

//substring()方法的结果是左闭右开的
String subStr2 = str.substring(3, 7);
System.out.println(subStr2);

//trim()方法会去掉字符串前后的空格
String subStr3 = str.trim();
System.out.println(subStr3);

//charAt(int a)方法获取下标为a的字符,注意下标是从0开始的
char a = str.charAt(4);
System.out.println(a);

//String是不可变的,要改变其值只能重新赋值。除了直接赋值的方法外,也可以用new调用其构造方法来构造字符串对象,但是这样开销会大一点。
str = new String("new string");
System.out.println(str);

}
}


运行结果:

This is a string test!

is is a string test!

is i

This is a string test!

s

new string

二、StringBuffer与StringBuilder类:

public static void main(String[] args) {
//      StringBuffer sb1 = "This is a StringBuffer!"; StringBuffer不能直接赋值,会报错
StringBuffer sb1 = new StringBuffer("This is a StringBuffer!");
System.out.println(sb1);

//StringBuffer可以通过append()方法在字符串后面追加字符或字符串,改变其值。也就是说,StringBuffer表示可变的字符串。
sb1.append(" Add a string!");
System.out.println(sb1);

//可以用toString()方法将StringBuffer类转换为String类
String str = sb1.toString();
System.out.println(str);
}


运行结果:

This is a StringBuffer!

This is a StringBuffer! Add a string!

This is a StringBuffer! Add a string!

StringBuilder类和StringBuffer类一样,也是可变字符串类。

StringBuilder类是非线程安全的,StringBuffer是线程安全的。

但是如果是单线程的话,优先使用StringBuilder类,因为它效率更高。

对于三者使用的总结:

1.如果要操作少量的数据用 = String

2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java string Builder Buffer