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
java中String与StringBuffer拼接的区别的更多相关文章
- Java中String、StringBuffer、StringBuilder区别与理解
一.先比较String.StringBuffer.StringBuilder变量的HashCode值 使用System.out.println(obj.hashcode())输出的时对象的哈希码, 而 ...
- java中String、StringBuffer、StringBuilder的区别
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...
- Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...
- Java基础——java中String、StringBuffer、StringBuilder的区别
(转自:http://www.cnblogs.com/xudong-bupt/p/3961159.html) java中String.StringBuffer.StringBuilder是编程中经常使 ...
- Java中String、StringBuffer和StringBuilder之间的区别
String在Java中是字符串常量 例如 String str = "abc"; str = str + 1; System.out.println(str); 结果将是abc1 ...
- java中String StringBuilder StringBuffer比较和效率(性能)测试
string stringbuilder stringbuffer三者的区别 从JDK源码看,String.StringBuilder.StringBuffer都是存放在char[] 数组字符串. 简 ...
- JAVA中String与StringBuffer的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结. 在java中有3个类来负责字符的操作. 1.C ...
- java中String、StringBuffer和StringBuilder的区别(简单介绍)
简单介绍 java中用于处理字符串常用的有三个类: 1.java.lang.String 2.java.lang.StringBuffer 3.java.lang.StrungBuilder 三者共同 ...
- Java中String、StringBuffer、StringBuilder、StringTokenizer的区别
Java语言中,有4个类可以对字符或字符串进行操作,它们是Character.String.StringBuffer.StringTokenizer,其中Character用于单个字符操作,Strin ...
随机推荐
- Oracle正则表达式之匹配邮箱
利于正则表达式匹配出符合电子邮箱的数据 --1 表准备create table test_regexp( object varchar2(50)); --2 数据准备 insert into test ...
- hdu3586 Information Disturbing 树形DP+二分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3586 题目大意:给定n个敌方据点,编号1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值c ...
- Java学习笔记——序列化和反序列化
寒雨连江夜入吴,平明送客楚山孤. 洛阳亲友如相问,一片冰心在玉壶. --芙蓉楼送辛渐 持久化数据的第一种方式.在序列化之前也可以把数据打散逐行存储在文件中,然后在逐行读取. 比如定Student类 用 ...
- TP框架 命名空间 与第三方类
命名空间 相当于虚拟目录 所有类文件都放在虚拟目录 功能:实现自动加载类 TP框架的命名空间要更复杂 内容=> 命名空间中定义和使用 都用\1初始命名空间 相当于 根目录 如:Library文件 ...
- Linux中重定向
转:http://blog.csdn.net/songyang516/article/details/6758256 1重定向 1.1 重定向符号 > 输出 ...
- SmartCoder每日站立会议10
站立会议内容: 准备为上交第一阶段项目进行加班,将各个页面联系起来,静态地图变为动态转换,考虑地图全屏或者是小屏即消息展示方式 1.站立会议照片: 2.任务展板: 3.燃尽图:
- MySQL数据目录更改及相关问题解决方案
步骤相关 1.停掉MySQL服务 service mysql stop 2.把旧的数据目录/var/lib/mysql备份到新的数据目录/data/mysql cp /var/lib/mysql /d ...
- 基于nodejs 的多页面爬虫
前言 前端时间再回顾了一下node.js,于是顺势做了一个爬虫来加深自己对node的理解. 主要用的到是request,cheerio,async三个模块 request 用于请求地址和快速下载图片流 ...
- zepto源码分析系列
如果你也开发移动端web,如果你也用zepto,应该值得你看看.有问题请留言. Zepto源码分析-架构 Zepto源码分析-zepto(DOM)模块 Zepto源码分析-callbacks模块 Ze ...
- 数据库MySQL纯净卸载
有些人在安装MySQL后,卸载后再次安装时,一直安装不上去,到最后不得不重装系统来安装MySQL.这里教大家如何将MySQL卸载干净,不影响下次安装. 卸载过程 1.停止mysql服务 2.进行卸载 ...