介绍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 ...
随机推荐
- db2入门必看命令清单--日常运维必需
关注 推荐 嘉兴 视频 财经 科技 热点 国际 更多 搜索 34 消息 发布 5 2 收藏 分享 db2入门必看命令清单--日常运维必需 https://www.toutiao.c ...
- 在Vue项目中使用wangEditor
wangEditor官网 封装的Editor组件 <template> <div class="editor-wrap"> <div ref=&quo ...
- React中store、action和reducer之间的关系
redux的三剑客store ----->物流仓库中心store,把它想象成一个物流仓库中心,数据(state)就是一个个包裹 action ---->包裹的包装 store.dispat ...
- JDK、JRE、JVM和i++
JRE:运行环境(包含JVM和JAVA核心类库) JDK:JAVA开发工具包(包含JRE和开发工具)----开发工具:指编译工具javac和运行工具java JVM:虚拟机,保证了跨平台 ++i:先运 ...
- k8s资源清单
资源清单就是k8s当中用来定义pod的文件,语法格式遵循yaml语法,在yaml当中可以定义控制器类型,元数据,容器端口号等等等....,也可以针对于清单对pod进行删除等操作. 我们可以用kubec ...
- leetcode 27. 移除元素 【时间击败100.00%】【内存击败84.67%】
1 public int removeElement(int[] nums, int val) { 2 int last = nums.length - 1; 3 for (int i = 0; i ...
- Java方法之方法的定义和调用
方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 方法包含一个方法头和一个方法体.下面是一个方法的所有部分: 1.修饰符:修饰符 ...
- beforeRouteLeave vue监听返回的使用方法
beforeRouteLeave(to, from, next) { console.log(this, to, from, next, "thissss"); if (to.fu ...
- Linux基础第十章:系统安全及应用
目录 一.账户安全措施 1.账户管理 2.锁定配置文件 3.清除历史记录 二.sudo 1.sudo概念及优点 2.使用sudo 3.sudo实操演示 4.设置sudo别名 5.sudo特别注意 一. ...
- Hbase安装(简)
1.下载hbase到服务器,解压移动到/usr/local/下 2.更改vim hbase-env.sh加入java工作目录 export JAVA_HOME=/usr/lib/jvm/java-1. ...