学习笔记:

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

以上所述是小编给大家介绍的Java中String与StringBuffer拼接的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

java中拼接和 的区别_浅析Java中String与StringBuffer拼接的区别相关推荐

  1. java js中 function函数报错_浅析JS中对函数function的理解(基础篇)

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  2. java中随机数怎么定义类_浅析Java中的随机数类

    Java中的随机数是否可以重复?Java中产生的随机数能否可以用来产生数据库主键?带着这个问题,我们做了一系列测试. 1.测试一: 使用不带参数的Random()构造函数 * @author Carl ...

  3. python中的列表和元组_浅析Python中的列表和元组

    区别列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数). 元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变. 元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问 ...

  4. java gc回收堆还是栈_浅析JAVA的垃圾回收机制(GC)

    1.什么是垃圾回收? 垃圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制. 注意:垃圾回 ...

  5. python中map函数字典映射_浅析python中的map函数

    1.map()函数的简介以及语法: map是python内置函数,会根据提供的函数对指定的序列做映射. map()函数的格式是:map(function,iterable,...) 第一个参数接受一个 ...

  6. 中service层的作用_浅析Java中dto、dao、service、controller的四层结构

    目前我所在的项目组采用的是SpringBoot框架,前端使用BootStrap+jQuery. SpringBoot是BS开发框架之一,不用单独开启tomcat服务器,目前比较流行,一般开发大型项目时 ...

  7. String、StringBuffer、StringBuilder区别

    无论是做Java或是Android,都避免不了遇到这个问题,其实开发过程中一般情况下是不会纠结,这个问题是面试必选经典题,今天有时间,就总结一下. String.StringBuffer.String ...

  8. java多线程同步与死锁_浅析Java多线程中的同步和死锁

    Value Engineering 1基于Java的多线程 多线程是实现并发机制的一种有效手段,它允许编程语言在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间相互独立,且与进程一样拥有独立 ...

  9. java变量同名_浅析Java中局部变量与成员变量同名解决技巧

    要想区分这哥俩,首先,我们得知道它们分别是什么.先从成员变量下刀. 成员变量 我们来研究一个事物: 属性:外在特征:例如人的身高,体重 行为:能够做什么:例如人有说话,打球等行为. 而在Java语言中 ...

最新文章

  1. 所有 SAP 现在开设的标准课程
  2. qmake 简易教程
  3. dagger android,dagger.android多模块项目实现
  4. 分享一个轻型ORM--Dapper选用理由
  5. Jython调用不包含第三方库的python脚本
  6. spring注入私有字段_Spring字段依赖注入示例
  7. 客户管理系统登录PSD模板
  8. java supplier_Java 函数式编程
  9. 离线网页制作器(beta1.0)
  10. 禁用驱动数字签名验证
  11. zabbix4.4 使用自动发现监测web网站健康状态(通过mysql表获取web地址)
  12. 2021最新可取回皮肤的CSGO开箱网站推荐!
  13. PYRIT 强大的密码分析工具(可使用GPU分析)-学习笔记
  14. 【小5聊】回看2022,展望2023,分享我的年度总结和感想,在一个行业十年,坚持下去你就是这个行业的专家
  15. 7-19 评委打分 (15 分)
  16. uCOSIII移植stm32c8t6
  17. 史上最全的CTF保姆教程 从入门到入狱【带工具】
  18. 甲骨文java计算机考证
  19. 二十行Python代码,带你了解扣扣发生大规模账号泄露前因后果
  20. CSGO(KZ模式)服务器搭建教程(windows系统)包含申请全球服务器操作方法

热门文章

  1. 如何将python文件打包成exe格式
  2. 7-93 解一元一次方程
  3. wifi提速技巧:十大方法瞬间提升wifi速度
  4. 如何快速制作OruxMaps离线地图
  5. xhprof安装和使用
  6. 利用nat123端口映射快速发布网站做网站服务,解决80端口映射被屏蔽被封问题,及nat123端口映射分析
  7. C语言中猜数大小的实验报告,猜数字游戏实验报告
  8. mac编译ijkplayer
  9. 强烈推荐:web前端目前最受欢迎的4款编辑器
  10. Android产品研发(十七)--Hybrid开发