今天截取字符串的时候,无意中发现了subSequence,并且不小心用上了,呵呵,发现同样能和substring一样截取,效果一模一样。我就好奇地翻看了一下源码:
public CharSequence subSequence(int beginIndex, int endIndex) {
return this.substring(beginIndex, endIndex);
}
根据JDK的文档,String.subSequence只是为了实现CharSequence接口上的同名方法而放在那里的,其行为与String.substring一样。
区别是:substring和subSequence的返回类型不一样,substring返回的是String,subSequence返回的是实现了CharSequence接口的类,也就是说使用subSequence得到的结果,只能使用CharSequence接口中的方法。不过在String类中已经重写了subSequence,调用subSequence方法,可以直接下转为String对象。