- CharSequence类是java.lang包下的一个接口,此接口对多种不同的对char访问的统一接口,像String、StringBuffer、StringBuilder类都是CharSequence的子接口;
- CharSequence类和String类都可以定义字符串,但是String定义的字符串只能读,CharSequence定义的字符串是可读可写的;
- 对于抽象类或者接口来说不可以直接使用new的方式创建对象,但是可以直接给它赋值;
CharSequence b = "s";
CharSequence是一个描述字符串结构的接口,在这个接口里面一般发现有三种常用的子类:
Stirng类
public final class String extends Object implements Serializable, Comparable<String>, CharSequence
StringBuffer类
public final class StringBuffer extends Object implements Serializable, CharSequence
StringBuilder类
public final class StringBuilder extends Object implements Serializable, CharSequence
现在只要有字符串就可以为CharSequence实例化,CharSequence本身是一个接口,在该接口中有如下方法:
- 获取指定索引的字符:public char charAt(int index);
- 获取字符串长度:public int length();
- 截取部分字符串:public CharSequence subSequence(int start, int end);
范例:字符串截取
public static void main(String[] args) { CharSequence str = "hello world"; CharSequence sub = str.subSequence(6, 11); System.out.println(sub); }
CharSequence描述的就是一个字符串,以后见到就不要感觉的陌生了。
为什么不干脆定义String作为参数类型?
因为还有其他的CharSequence
类型的实现类,
比如StringBuffer
和StringBuilder
这两个很重要的类。
相关文章: