String的substring和subSequence的区别
2015-12-04 14:13
375 查看
今天截取字符串的时候,无意中发现了subSequence,并且不小心用上了,呵呵,发现同样能和substring一样截取,效果一模一样。我就好奇地翻看了一下源码:
区别是:substring和subSequence的返回类型不一样,substring返回的是String,subSequence返回的是实现了CharSequence接口的类,也就是说使用subSequence得到的结果,只能使用CharSequence接口中的方法。不过在String类中已经重写了subSequence,调用subSequence方法,可以直接下转为String对象。
今天截取字符串的时候,无意中发现了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对象。
相关文章推荐
- 关于uitableview上面的一块空白的问题
- django的request对象和response对象
- easyui--datetiembox日期组件
- iOS开发-UI控件:关于使用UISearchDisplayController
- [APUE]再读之 标准IO库
- easyui--timespinner时间微调组件
- 解决Value '0000-00-00 ' can not be represented as java.sql.Timest
- easyui--spinner
- spoj375 Query on a tree(树链剖分 边权 入门题)
- [MSSQL]在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)
- 键盘(UITextInputTraits)
- Ⅰ.15 如何修改Squish函数
- easyui--datebox
- UESTC 764 失落的圣诞节 直接or线段树orRMQ
- iOS UIViewController 无法关闭自动旋屏(自动旋转、手动旋转、兼容IOS6之前系统)
- LeetCode(303)Range Sum Query - Immutable
- LeetCode(303)Range Sum Query - Immutable
- easyui--calendar日历组件
- requireJs笔记一
- LeetCode(303) Range Sum Query - Immutable解题报告