我知道 subSequence 返回一个只读的 charSequence。此外,String 类实现了 CharSequence。subString 返回一个字符串。
但是,在子序列和子字符串中,何时以及更喜欢哪一个
我知道 subSequence 返回一个只读的 charSequence。此外,String 类实现了 CharSequence。subString 返回一个字符串。
但是,在子序列和子字符串中,何时以及更喜欢哪一个
调用表单的这个方法
str.subSequence(begin, end)
行为方式与调用完全相同
str.substring(begin, end)
并且:
定义此方法以便 String 类可以实现 CharSequence 接口。
因此,subSequence
当您使用类型的对象CharSequence
而不是String
您可以随时使用substring
. javadoc说两者具有相同的行为。尽管subSequence
返回 aCharSequence
并substring
返回 a String
,但String
实现了CharSequence
,因此您始终可以substring
在需要 a 的上下文中CharSequence
使用。
根据 javadoc,subSequence
是否存在是因为它必须存在,才能实现CharSequence
. 因为它在那里是因为它是必需的,而不是特别因为有使用它的理由,所以如果你有一个String
.
java.util.regex.Pattern.split
如果将 String 作为输入 arg 传递,String.subSequence
则将使用以下代码段:
public String[] split(CharSequence input, int limit) {
...
String match = input.subSequence(index, m.start()).toString();
...