String源码观看总结
String源码观看小结String是java最常的类,但它不是基础类型--因而内存的堆栈中它是以地址的形式保存.而它
String源码观看小结
String是java最常的类,但它不是基础类型--因而内存的堆栈中它是以地址的形式保存.而它有事一个很特殊引用类型:类的声明是final,它是不能被继承的:
while(i-- != 0)
简直精巧极了!这可能就是代码的优雅.
?
总结:想看String的源码就是因为Think In Java所说的恒常性.而String的实现比较简单---重要变量为final形式
?
?
?
?
1 楼 sangli 2010-01-12 为什么只拿出一个方法啊。
对于你说的
《而只能重新返回一个新的String.这就是String与其他普通对象的重要区别---对其任何的本质上的改变都不会改变对象本身,而是返回一个新的对象.
》我支持。因为他是通过System.arraycopy把字符串复制的。所以是个新的对象。
private final int offset; //起始位?这个变量没明白,不过可看作数字0
对于这个我认为是个中间值。你看API对System.arraycopy的解释。你再对照源码看下。你就明白了。
其实我感觉你应该说下String里面的算法。我认识最主要就是他的三个全局变量。通过算法来对字符串的各种操作。
你所说的String本质是char[]。而char[]的本质是什么?