20191001:String,StringBuffer,StringBuilder类异同辨析
String,StringBuffer,StringBuilder类异同辨析
- 框架
- String对象的建立方法及底层
- StringBuffer与String的区别
- StringBuilder与StringBuffer区别
框架
String对象的建立方法及底层
- 通过如下代码展示两种建立方法
package com.immunize.review;/*** String对象的建立方法及底层* * @author Mr IMMUNIZE**/
public class StringTest {public static void main(String[] args) {// 第一种创建方法String s1 = "immunize";System.out.println(s1);// 第一种创建方法String s2 = new String("immunize");System.out.println(s2);System.out.println(s1 == s2);// falseSystem.out.println(s1.equals(s2));// true}}
执行结果如图:
底层实现简单说明
底层,如果直接使用第一种方法创建String类,则java会在常量池中建立"immunize"这个量,而如果是第二种创建方法,他会先在堆内存中开辟新的内存空间,存放这个"immunize"。具体的原因可参照上图代码结果。因此如果比较两个字符串的内容是否相同,建议使用equals方法。
StringBuffer与String的区别
- StringBuffer底层实现是一个char数组,并且默认长度为16
- StringBuffer的3种构造方法辨析
package com.immunize.review;/*** StringBuffer的3种构造方法异同* * @author Mr IMMUNIZE**/
public class StringBufferTest {public static void main(String[] args) {// 01StringBuffer s1 = new StringBuffer();System.out.println(s1.capacity());// 16// 02StringBuffer s2 = new StringBuffer(100);System.out.println(s2.capacity());// 100// 03StringBuffer s3 = new StringBuffer("immunize");System.out.println(s3.capacity());// 16+8=24}}
StringBuilder与StringBuffer区别
- 底层实现完全相同
- StringBuffer是jdk1.0版本加入的,线程安全但是效率低
- StringBuilder是jdk1.5版本加入的,线程不安全但是效率高。
20191001:String,StringBuffer,StringBuilder类异同辨析相关推荐
- 重温java中的String,StringBuffer,StringBuilder类
不论什么一个系统在开发的过程中, 相信都不会缺少对字符串的处理. 在 java 语言中, 用来处理字符串的的类经常使用的有 3 个: String.StringBuffer.StringBuilder ...
- String StringBuffer StringBuilder的异同
1.String与StrIngBuffer StringBuilder的主要区别在于StrIng是不可变对象,每次对String对象进行修改之后,相对于重新创建一个对象. String源码解读: pr ...
- String,StringBuffer,StringBuilder三者的异同
String,StringBuffer,StringBuilder三者的异同:? String:不可变的字符序列;底层使用char[]存储(用final修饰) StringBuffer:可变的字符序列 ...
- StringBuffer类,StringBuffer类和String的区别、String,StringBuffer,StringBuilder之间的区别
1.概述 StringBuffer是一个线程安全的可变序列. 2.StringBuffer与String区别 (1)StringBuffer的长度和内容都可以发生改变,String却不行 (2)Str ...
- 2019-7-9 [JavaSE] String ,StringBuffer,StringBuilder比较 装箱和拆箱 日期类 正则
文章目录 1.StringBuffer类 方法: 利用StringBuffer开头与结束的时间计算: String ,StringBuffer,StringBuilder比较 2.装箱和拆箱 3.日期 ...
- 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...
- String、StringBuilder类连接字符串操作的时间差异
最新文章:Virson's Blog 刚刚看到园子里面写了一篇关于Java的<StringBuilder.StringBuffer.String类之间的关系>的文章,自己也想试试看C#的S ...
- java中 String StringBuffer StringBuilder的区别
* String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...
- String, StringBuffer,StringBuilder
String, StringBuffer,StringBuilder的区别 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,都实现了CharSe ...
最新文章
- Windows Phone本地数据库(SQLCE):5、[Association]attribute(翻译)(转)
- 自动添加端口添加至Windows防火墙脚本
- HDU 1257 最少拦截系统
- 我理解消化后的浮点数存储
- 基于Netty的百万级推送服务设计要点
- 前端学习(1746):前端调试值之时间监听
- 如何使用notepad运行python程序
- python面试如何以相反顺序展示一个文件的内容?
- 自动驾驶 6-1: 横向车辆控制介绍 Lesson 1: Introduction to Lateral Vehicle Control
- cop2000计算机组成原理,COP2000计算机组成原理实验系统.pdf
- Python查找字符串中的所有汉字
- android 博饼代码,中秋博饼游戏下载
- 360云盘怎么用连接服务器异常,360云盘突然登录不上去了怎么回事 网络没问题但是360云盘登不上去怎么办...
- 工作记录 io流写入linux文件
- C++ 赛码打字编程题
- Lerna 多 package 源代码管理方案
- RK3288 EDP 调试
- 关于任务计划指定错误:0X80041315、0X80070005拒绝访问
- __str__()方法
- Cocos2d-x 3.X, Android Studio版添加广点通广告平台
热门文章
- 小辣椒手机创始人王晓雁加入小米;手机 QQ 可显示对方实时电量;Git Extensions 3.3.1 发布 | 极客头条...
- 二十年的编程,教会我的五件事!
- 如何彻底搞懂 Java 数据结构?|CSDN 博文精选
- 超分辨率在移动实时音视频的应用实践
- 60 岁的 COBOL 凭什么活到现在?
- 牛!这本 Python 3.6 的书火爆了 IT 圈!
- 鲍勃·维德拉:一位硬件工程师的叛逆传奇 | 人物志
- 深度探秘大数据新应用,2018 中国大数据技术大会(BDTC)强势来袭!
- DNS 教父怒喷 DNS-over-HTTPS!
- 腾讯网易已称王,今日头条有什么勇气来做游戏?