Java中的String,StringBuilder,StringBuffer三者的区别?
package com.aaa.zxf.ajax.test; /**
* 弄清楚 string stringBuilder StringBuffer 三者之间的关系?
*
*
* 一、 三者都是用来对字符串进行操作,
* String通常用来定义一个变量,
* 而StringBuilder StringBuffer则通常用来对字符串进行拼接等操作
*
* 二、线程安全
* 在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
*
* 三、 总结一下
* String:适用于少量的字符串操作的情况
*
* StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
*
* StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
*
*/
public class TestString {
/**
* 查看源码 被final 修饰的。
* private final char value[];
*
* 所以 string 修饰的是定长,不可变的。
*
*/
String h0="123"; String h1=new String("12"); String h2=h0 + h1; /**
* 得到 "12312"
*
* 底层不可变 就会创建三个对象 占用内存
* 一直都未失去引用 无法回收垃圾
* 浪费资源
*/ /**
* StringBuilder 和 StringBuffer 都是继承了AbstractStringBuilder
*
* char 没有被final 修饰 内容是可变的。
*
*/
StringBuilder hah=new StringBuilder(); /**
* 查看源码得知。。
* StringBuffer在拼接字符串时,使用了同步锁,安全性提高,而StringBuilder未使用同步锁,故效率提高。
*/
StringBuffer h = new StringBuffer() ; }
Java中的String,StringBuilder,StringBuffer三者的区别?的更多相关文章
- Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
字符串,就是一系列字符的集合. Java里面提供了String,StringBuffer和StringBuilder三个类来封装字符串,其中StringBuilder类是到jdk 1.5才新增的.字符 ...
- Java中的String、StringBuffer和StringBuilder
作为作为一个已经入了门的java程序猿,肯定对Java中的String.StringBuffer和StringBuilder都略有耳闻了,尤其是String 肯定是经常用的.但肯定你有一点很好奇,为什 ...
- 浅谈java中的String、StringBuffer、StringBuilder类的区别以及关系
在java中最常见的使用就是对字符串的操作:首先先说一下对字符串的理解:字符串就是一连串字符序列,Java提供了String和StringBuffer两个类来封装字符串,并提供一系列方法来操作字符串对 ...
- Java中的String和StringBuffer
在任何编程语言中,字符串都是我们编写程序时不可避免要用到的常用的数据类型之一. 对于Java初学者而言,当谈到String和StringBuffer的区别时,通常都会有些困惑. 而要弄清楚两者之间的区 ...
- Java中的String,StringBuffer,StringBuilder详解与区别
1.String Java中string类是不可变的,其中在声明的源代码中用的final,所以只能声明一次.所以每次在明面上的改变其实是重新生成一个String对象,指针指向新的String对象.同时 ...
- Java中的String、StringBuffer以及StringBuilder的用法和区别
String String的构造方式有n种(据说n==11),常见的例举一二: String s1 = "hello world"; String s2 = new String( ...
- Java中的String、StringBuffer和StringBuilder的区别
类型 是否可变 线程安全 能否频繁修改 String 不可变 安全 否 StringBuffer 可变 安全 能 StringBuilder 可变 不安全 能 1.可变与 ...
- 深刻理解Java中的String、StringBuffer和StringBuilder的差别
声明:本博客为原创博客,未经同意.不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(链接为http://blog.csdn.net/bettarwang/article/detai ...
- java中的String、StringBuffer、StringBuilder的区别
java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...
- Java中的String、StringBuffer、StringBuilder区别以及Java之StringUtils的用法
1.String.StringBuffer.StringBuilder的区别 String是Java中基础类型,是immutable类(不可变)的典型实现,利用string进行拼接是会产生过多无用对象 ...
随机推荐
- 【剑指Offer】左旋转字符串 解题报告(Python)
[剑指Offer]左旋转字符串 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目 ...
- 永中dcs实现浏览器上面的手绘效果
永中dcs是一款在线预览各种办公文件的网络产品,我们可以只用一个浏览器就可以实现对word,ppt和excel等文件的在线浏览,在其中有一个在线手绘功能很有特色,让我们来探一探它的实现原理吧. 第一, ...
- 警惕!PHP、Node、Ruby 和 Python 应用,漏洞还没结束!
12 月 10 日凌晨,Apache 开源项目 Log4j2 的远程代码执行漏洞细节被公开,作为当前全球使用最广泛的 java 日志框架之一.该漏洞影响着很多全球使用量前列的开源组件,如 Apache ...
- git导出历史日志
1.1.在项目根目录下执行命令,导出 git 提交记录到桌面 进入项目目录:然后右击选择git bash here 然后在git中执行命令:git log --pretty=format:&q ...
- 【MySQL作业】sum、max 和 min 聚合函数——美和易思聚合函数应用习题
点击打开所使用到的数据库>>> 1.统计商品最高单价和最低单价. -- 获取所有商品的最高单价和最低单价: select max(unitPrice) 最高单价 , min(unit ...
- java并发系列——底层CPU
java并发有诸多难点,实际上并非java语言本身的问题,本质上说一部分是因为并发操作本身的问题,另外一部分是因为计算机体系结构带来的.为了更好地理解java并发过程中的问题,我们应该对CPU有一些基 ...
- java知识点链接
业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们! 细思极恐-你真的会写java吗? [解锁新姿势] 兄dei,你代码需要优化了 消灭 Java 代码的"坏味道" ...
- .NetCore基于Jenkins和Gogs的自动化部署方案
准备工作 Jenkins和gogs的安装配置可以看前两篇:Jenkins安装.配置与说明 和 gogs安装与说明(docker) 此外,因为还要安装.net core的SDK和Git工具: 安装.n ...
- IntelliJ IDEA 2020.1.1 x64 Debug 断点调试模式详解
前言 对于初入职场的萌新们来说,很多都还不会 Debug 断点模式.记得我刚写代码的时候,也是通过 System.out.println() 一行一行的把变量打印出来看.其实强大的编辑器已经帮我们做好 ...
- Django_测试板块(六)
本文初略的记录了Django测试板块相关信息,详情请阅官方文档:https://docs.djangoproject.com/zh-hans/3.1/topics/testing/ 开始写我们的第一个 ...