我知道subSequence会返回一个只读的charSequence。另外,String类实现了CharSequence。subString返回一个字符串。
但是,在子序列和子字符串中,何时以及选择哪一个
发布于 2014-07-18 11:59:29
从API javadoc
以str.subSequence(
,end)的形式调用此方法的行为与调用的方式完全相同
str.substring(begin,end)
还有:
定义此方法是为了使String类可以实现CharSequence接口。
因此,在处理CharSequence类型的对象而不是String类型的对象时,最好使用subSequence
发布于 2014-07-18 12:10:06
您可以随时使用substring。javadoc表示,这两个人的行为是一样的。尽管subSequence返回一个CharSequence,substring返回一个String,但String实现了CharSequence,因此您可以始终在需要CharSequence的上下文中使用substring。
根据javadoc的说法,为了实现CharSequence中定义的方法,subSequence之所以存在是因为它必须存在。既然它在那里是因为它是必需的,而不是因为有使用它的理由,如果你有一个String,我看不到任何使用它的理由。
发布于 2014-07-18 12:21:41
以下是java.util.regex.Pattern.split中的一段代码,如果字符串作为输入参数传递,则将使用String.subSequence:
public String[] split(CharSequence input, int limit) {
...
String match = input.subSequence(index, m.start()).toString();
...https://stackoverflow.com/questions/24816954
复制相似问题