不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:php-note.com  发布于:2021-05-25 22:02  分类:Java基础  编辑
  • 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类型的实现类,

比如StringBufferStringBuilder这两个很重要的类。

 

 

相关文章:

CharSequence类型与String类型的区别

String和CharSequence区别,StringBuilder和StringBuffer的区别