为什么java.lang.CharSequence被设计为接口?

时间:2009-11-12 14:44:41

标签: java

为什么来自Java API的CharSequence是一个接口?这个界面有什么意义?

1 个答案:

答案 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));
    }
}

这样您就可以通过StringCharBufferStringBuilderStringBuffer和其他CharSequence实施。

然而,这个事实与<{1}} 没有什么有关,它只会带来好处=)