从字面上看CharSequence与字符数组有一些联系,它们实际上有联系吗?CharSequence为一个接口,为什么其中变量并没有定义为public final,而是并没有定义访问权限,也就是默认的defult访问权限,而且在下面的方法中有一些没有方法体但是方法声明中却没有abstract关键字,另一些方法竟然有方法体,而且声明中竟然为public default,双层访问权限?CharSequence作用到底是什么,应该怎么使用?我是看到StringWriter中覆写Writer中的write(char[] cbuf,int off,int len)方法,在经过数组长度判断后调用本类中的,append(CharSeqence csq,int start,int off)方法后产生疑问的,传入的char数组却被Char Sequence接收,我写下CharSequence cs ={'a','b','c'};却编译出错。还有个append(String str,int off,int len)不知道那个write方法末尾是否实际上是调用的它。
1条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 你看下这篇博客吧, 应该有用👉 :CharSequence 详情介绍
- 除此之外, 这篇博客: CharSequence 详情介绍中的 CharSequence详情介绍 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
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 描述的就是一个
字符串
,以后见到就不要感觉的陌生了。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报