一、String类:其源码如下
public final class String implements java.io.Serializable, Comparable<String>, CharSequence{ ... }
从源码可以看出,String实现了3个接口,且用final修饰,故String类不能被继承
二、String 类常用方法
1 char charAt(int index) : 返回某字符序列指定索引处的 char 值。
2 int length() :返回此字符序列的长度。
3 subSequence(int start, int end) : 截取字符序列中一段字符序列,(用 CharSequence接收)
4 String toString() :返回一个包含此序列中字符的字符串,该字符串与此序列的顺序相同。
5 boolean isEmpty():判断字符串是否为空。
6 boolean equals(Object obj):将此字符串的内容与指定的对象比较,区分大小写。
7 boolean equalsIgnoreCase(String str):将此 String 与另一个 String 比较,忽略大小写。
8 boolean contains(String str):判断字符串中是否包含方法传入的字符串。
9 boolean startsWith(String str):判断字符串是否以某个指定的字符串开头。
10 boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾。
三、String的特点:
1. String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
2. 字符串是常量;它们的值在创建之后不能更改。
3. 所有的常量在内存的方法区的常量池中
4. 频繁的字符串拼接操作会导致常量池容器增加,浪费内存资源
5. 字符串缓冲区【StringBuffer,StringBuilder】支持可变的字符串
6. Java在编译时期会针对字符串的拼接操作使用StringBuilder改进,提高效率,节约内存资源
7. 因为 String 对象是不可变的,所以可以共享
8. 字符串本质是字符数组
四、代码演示
public class StringDemo {
public static void main(String[ ] args) {
String sss = "HelloWorld"; // 创建字符串类型变量sss
System.out.println( sss .charAt(4)); //获取sss字符序列索引3处的字符,即字符“o”
CharSequence sss1 = sss . subSequence(3, 5) ; // 截取sss字符序列中区间 [3,5) 的字符序列,(可用 CharSequence接收)
sss . isEmpty( ); //判断字符串是否为空,返回值为布尔类型
sss . contains(String str); // 判断字符串中是否包含方法传入的字符串。
}
}