zoukankan      html  css  js  c++  java
  • java中String与StringBuffer拼接的区别

    学习笔记:

      1、String拼接会创建一个新的String对象,存储拼接后的字符串;

        StringBuffer拼接是直接在本身拼接,会即时刷新。

      2.String只能拼接String类型的字符串;

        StringBuffer能够拼接所有的类型的值。

    public class Test {
    	public static void main(String[] args) {
    		String str1="abc";
    		String str2="cba";
    		
    		//使用Stirng的concat拼接
    		String s1=str1.concat(str2);
    		String s2=str2.concat(str1);
    		System.out.println("使用concat互相拼接:"+s1+":"+s2);
    		
    		//使用StringBuffer的append拼接
    		StringBuffer sb1=new StringBuffer(str1);
    		StringBuffer sb2=new StringBuffer(str2);
    StringBuffer s3=sb1.append(sb2); StringBuffer s4=sb2.append(sb1); System.out.println("使用StringBuffer互相拼接:"+s3+":"+s4);
    System.out.println("s3.append(s3):"+s3.append(s3)); //输出结果为:s3.append(s3):abccbaabccba System.out.println("s3:"+s3);         //输出结果为:s3:abccbaabccba   System.out.println(s1.concat(s2)==s1);//false,拼接会重新创建一个String(String的长度是不可变的) System.out.println(s3.append(s1)==s3);//true,StringBuffer是对自己进行操作会即时刷新
              

              int num=123;
              /*str1.concat(num);---此处报错*/
              StringBuffer s5=s4.append(num);
              System.out.println("s5:"+s5);

    	}
    	
    }
    

      输出结果是:

    使用concat互相拼接1:abccba:cbaabc
    使用StringBuffer互相拼接1:abccba:cbaabccba
    s3.append(s3):abccbaabccba
    s3:abccbaabccba
    false
    true
    s5:cbaabccba123
    

      

    亲力亲为,温故知新!
  • 相关阅读:
    问卷调查--来自20145320周岐浩
    第一次尝试编写java
    写在开始编写Java之前(2)——Java的环境
    写在开始编写Java之前(1)——Java的跨平台性
    一步一步实现JS拖拽插件
    序列图像三维重建 学习流水账
    linux配置虚拟机网络环境(老师要求的host-only)
    递归函数时间复杂度分析(转)
    什么是static?什么是final?
    复习java数据库操作的总结
  • 原文地址:https://www.cnblogs.com/tmftmb/p/7092038.html
Copyright © 2011-2022 走看看