为什么来自Java API的CharSequence是一个接口?这个界面有什么意义?
答案 0 :(得分:8)
它只是从任何现有的实现重构而来。其中一个好处是,只要您实际需要其中一个methods,就可以“扩大”输入。
所以而不是例如
public void printEveryChar(String string) {
for (int i = 0; i < string.length(); i++) {
System.out.println(string.charAt(i));
}
}
你可以
public void printEveryChar(CharSequence charSequence) {
for (int i = 0; i < charSequence.length(); i++) {
System.out.println(charSequence.charAt(i));
}
}
这样您就可以通过String
,CharBuffer
,StringBuilder
,StringBuffer
和其他CharSequence
实施。
然而,这个事实与<{1}} 没有什么有关,它只会带来好处=)