Java字符串
首先看一下以下三篇文章,作者写的很不错:
String详解, String和CharSequence区别, StringBuilder和StringBuffer的区别 (String系列之1)
以下是总结:
CharSequence,String,StringBuilder和StringBuffer的关系

CharSequence是一个接口,它只包括length(), charAt(int index), subSequence(int start, int end)这几个API接口。
public class Main {
public static void main(String[] args) {
CharSequence cs = "hello world!";
print(cs.length()); // 12
print(((String) cs).substring(1,2)); //e
print(cs.charAt(2)); //l
}
public static void print(Object obj) {
System.out.println(obj);
}
}CharSequence就是字符序列,String, StringBuilder和StringBuffer本质上都是通过字符数组实现的!
StringBuilder和StringBuffer都是可变的字符序列。它们都继承于AbstractStringBuilder,实现了CharSequence接口。
但是,StringBuilder是非线程安全的,而StringBuffer是线程安全的。(java什么叫线程安全?什么叫不安全?)
示例
结果:
Last updated
Was this helpful?