黑马程序员技术交流社区
标题:
String的substring和subSequence的区别
[打印本页]
作者:
youc3576
时间:
2011-9-18 10:22
标题:
String的substring和subSequence的区别
今天截取字符串的时候,无意中发现了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对象。
好东西就和大家分享~~~~
作者:
匿名
时间:
2011-9-18 11:08
标题:
回复 楼主 的帖子
public String substring(int beginIndex,
int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。
返回:
指定的子字符串。
public CharSequence subSequence(int beginIndex,
int endIndex)返回一个新的字符序列,它是此序列的一个子序列。
此方法这种形式的调用:
str.subSequence(begin, end)与以下调用的行为完全相同:
str.substring(begin, end)定义此方法使 String 类能够实现 CharSequence 接口。
指定者:
接口 CharSequence 中的 subSequence
参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。
返回:
指定子序列。
作者:
匿名
时间:
2011-9-18 11:09
有种鸡肋的感觉,多此一举了
作者:
匿名
时间:
2011-9-18 13:11
。。。无语。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2