JavaSE8基础 StringBuffer substring 将变量分割返回String,其本身不变

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE8基础 StringBuffer substring 将变量分割返回String,其本身不变相关的知识,希望对你有一定的参考价值。




    os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)
    
    
code:

package jizuiku1;

public class Demo110 {
	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();
		sb.append("cnblog");

		String str = sb.substring(3,5);//返回的是String [3,5)
		System.out.println(str);//截取部分
		System.out.println(sb);//本身,为什么本身不变呢?看源码!
	}
}

 


result:
技术分享

 


sourceCode:

 

   第一级

    @Override
    public synchronized String substring(int start) {
        return substring(start, count);
    }

 

   点击return后的 substring,进入第二级

	@Override
    public synchronized String substring(int start, int end) {
        return super.substring(start, end);
    }

 

  点击super.后面的 substring,进入第三级

	public String substring(int start, int end) {
        if (start < 0)
            throw new StringIndexOutOfBoundsException(start);
        if (end > count)
            throw new StringIndexOutOfBoundsException(end);
        if (start > end)
            throw new StringIndexOutOfBoundsException(end - start);
        return new String(value, start, end - start);
    }

  奥,原来是这样的,懂了!

 


Java优秀,值得学习。
学习资源:API手册+Java源码+清净的心地。













以上是关于JavaSE8基础 StringBuffer substring 将变量分割返回String,其本身不变的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE8基础 StringBuffer 将一个char字符重复指定次数后输出

JavaSE8基础 StringBuffer delete 删除指定索引值的一个字符

JavaSE8基础 StringBuffer substring 将变量分割返回String,其本身不变

JavaSE8基础 StringBuffer reverse 倒置缓冲区内的字符串

JavaSE8基础 通过String与StringBuffer的相互转换,实现倒置字符串

JavaSE8基础 StringBuffer与String变量在追加字符串后,引用变量的地址发生改变