我知道subSequence返回一個charSequence,它是隻讀的。此外,String類實現CharSequence。 subString返回一個String。什麼時候通過String.subString使用String.subSequence方法?
但是,除子序列和子串,當與其中的一個更喜歡
我知道subSequence返回一個charSequence,它是隻讀的。此外,String類實現CharSequence。 subString返回一個String。什麼時候通過String.subString使用String.subSequence方法?
但是,除子序列和子串,當與其中的一個更喜歡
形式的該方法的調用完全相同的
str.subSequence(begin, end)
的行爲與調用方式相同
str.substring(begin, end)
而且也:
此方法定義,以使String類能夠實現CharSequence的接口。
因此,它是適合使用subSequence
當你與CharSequence
類型對象的工作,而不是String
您可以隨時使用substring
。 javadoc說這兩個人有相同的行爲。雖然subSequence
返回CharSequence
而substring
返回String
,String
實現CharSequence
,因此您可以在需要CharSequence
的上下文中始終使用substring
。
根據javadoc,subSequence
是因爲它必須是,爲了實現在CharSequence
定義的方法。由於它在那裏,因爲它是必需的,並不是特別因爲有使用它的理由,所以如果您有String
,我不認爲有任何理由使用它。
這裏是從java.util.regex.Pattern.split
一個片段,其中String.subSequence
如果字符串作爲輸入ARG傳遞將被使用:
public String[] split(CharSequence input, int limit) {
...
String match = input.subSequence(index, m.start()).toString();
...