介绍String、StringBuffer和StringBuilder
1. String类:
位于java.lang包,早期版本JDK1.0,继承Object类,实现java.io.Serializable, Comparable<String>, CharSequence三个接口,是一个final类。
String的不可变性:private final char value[];(1)长度:final修饰的数组长度不变,final修饰数组的地址也不变。(2)内容:private修饰的属 性为私有,不能在类的外部访问。
String独有的方法(StringBuffer和StringBuilder没有的):concat() compareTo() toUpperCase()
2. StringBuffer:
位于java.lang包,早期版本JDK1.0,继承AbstractStringBuilder类,实现java.io.Serializable, CharSequence接口,是一个final类,StringBuffer类的父类实现了Appendable接口。
StringBuffer存储的字符串是可变的,没有final修饰,底层可以进行数组扩容。它是线程同步,安全性比较高,执行效率相对比较低。
3. StringBuilder:
位于java.lang包,后期版本JDK1.5,继承AbstractStringBuilder类,实现java.io.Serializable, CharSequence接口,是一个final类,其父类实现了Appendable接口。
StringBuilder存储的字符串是可变的,没有final修饰,底层可以进行数组扩容。它是线程非同步,安全性比较低,执行效率相对比较高。
有一些方法String没有的:append() insert() delete() reverse() 。
介绍String、StringBuffer和StringBuilder的更多相关文章
- String,StringBuffer和StringBuilder源码解析[基于JDK6]
最近指导几位新人,学习了一下String,StringBuffer和StringBuilder类,从反馈的结果来看,总体感觉学习的深度不够,没有读出东西.其实,JDK的源码是越读越有味的.下面总结一下 ...
- String,StringBuffer和StringBuilder的异同
String,StringBuffer和StringBuilder的异同 ...
- String,StringBuffer与StringBuilder
1. String,StringBuffer与StringBuilder的区别 String:存储在常量池中:是不可变的字符序列,任何对String值的改变都会引发新的String对象的生成,因此执行 ...
- Java String, StringBuffer和StringBuilder实例
1- 分层继承2- 可变和不可变的概念3- String3.1- 字符串是一个非常特殊的类3.2- String 字面值 vs. String对象3.3- String的方法3.3.1- length ...
- String, StringBuffer and StringBuilder
一 String 概述: String 被声明为 final,因此它不可被继承. 在 Java 8 中,String 内部使用 char 数组存储数据. public final class Stri ...
- String,StringBuffer和StringBuilder
String,StringBuffer和StringBuilder分别应该在什么情况下使用? String 是Java的字符串类,其实质上也是用Char类型存储的,但是除了hash属性,其他的属性都声 ...
- [转]是String,StringBuffer还是StringBuilder?
原文链接. 相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵 ...
- java中String,StringBuffer与StringBuilder的区别??
本文着重介绍下,应该在何时恰当的使用string,stringbuffer,stringbuilder. 1,执行速度 StringBuilder > StringBuffer > ...
- String,StringBuffer与StringBuilder的区别??
转自http://blog.csdn.net/rmn190/article/details/1492013 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBu ...
- Java中String,StringBuffer与StringBuilder的差别
String 字符串常量: StringBuffer 字符串变量〈缓冲区〉(线程安全): StringBuilder 字符串变量〈缓冲区〉(非线程安全): 简要的说, String 类型和 Strin ...
随机推荐
- 物料Classification 分类系统
作用:可以追加物料的属性,因为在物料主界面字段是有限的,并且并不是符合所有企业的业务,可以使用追加属性的方式给物料添加各式各样的属性 1.创建特性,Tcode:CT04 2.创建分类 Tcode:CL ...
- app对接微信支付(app支付)
(先补充一下,app唤醒微信支付失败的话,在确保没错的情况下,建议换一个手机或者重新下载微信,不知道是微信缓存还是什么原因) 1.先申请好开发环境 app支付不需要公众号,所以申请好开发商号和开发平台 ...
- maven profile 的作用
maven 的profile 可以是我们通过编译时指定 -P 来实现 使用不同的 属性变量. 比如: <profiles> <profile> <id>local ...
- D2-Net: Weakly-Supervised Action Localization via Discriminative Embeddings and Denoised Activations概述
1.针对的问题 目前大多数弱监督动作定位方法通常依赖于分离前景和背景区域(前-背景分离)学习TCAMs,但是在弱监督设置下,学习到的TCAM会存在噪声,而这些方法并没有明确地处理其噪声输出. 2.主要 ...
- tomcat 1 - Servlet 容器
Socket socket = new Socket ( "yahoo.com", 80); OutputStream os = socket.getOutputStream(); ...
- 每日一抄 Go语言使用select切换协程
看了两篇博客,一个说:在任何一个 case 中执行 break 或者 return,select 就结束了. 另一个说:break只能跳出select中的一个case 验证了一下,不知道对不对,感觉是 ...
- Java基础——数组的初始化与赋值、循环遍历,Random随机数[大于等于0,小于所给值)
package com.zhao.demo; public class Demo05 { //数组的静态初始化 /*public static void main(String[] args) { i ...
- CImage类使用
前言 CImage类是基于GDI+的,但是这里为什么要讲归于GDI? 主要是基于这样的考虑: 在GDI+环境中,我们可以直接使用GDI+ ,没多少必要再使用CImage类 但是,如果 ...
- 「SOL」旧试题 (LOJ/SDOI)
数论+图论,妙不可言 # 题面 给定 \(A,B,C\),求: \[\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C\sigma_0(ijk) \] 数据规模:\(A,B,C\ ...
- Study python_01
Python历史事件 1989 年 --- 荷兰人吉多·范罗苏姆决心开发一个新的脚本解释程序: 1991 年 --- 第一个用C语言实现的Python编译器诞生,Python 的代码对外公布,版本为 ...