string插入字符_String类
String 类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”。 那什么叫做“不可变对象”呢?指的是对象内部的成员变量的值无法再改变。我们打开String类的源码,如图
![](/assets/blank.gif)
们发现字符串内容全部存储到value[]数组中,而变量value是final类型的,也就是常量(即只能被赋值一次)。 这就是“不可变对象”的典型定义方式。
我们发现在前面学习String的某些方法,比如:substring()是对字符串的截取操作,但本质是读取原字符串内容生成了新的字符串。
1. StringBuilder,Stringbuffer用法_jdk底层源码分析
(1) StringBuffer与StringBuilder的异同点是什么?
① 异:在这方面运行速度快慢为:StringBuilder > StringBuffer > String
在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
② 同: StringBuffer和StringBuilder非常类似,均代表可变的字符序列。 这两个类都是抽象类AbstractStringBuilder的子类,方法几乎一模一样.
内部也是一个字符数组,但这个字符数组没有用final修饰,随时可以修改。
(2) String与StringBuffer的异同点是什么?
①String类是字符串常量,是不可更改的常量。
②StringBuffer类中的方法主要偏重于对于字符串的变化。
③String和StringBuffer他们都可以存储和操作字符串,即包含多个字符的字符串数据。
④StringBuffer类和String一样,也用来代表字符串。只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。
⑤所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
⑥在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的。但是,对StringBuffer对象的每次修改都会改变对象自身,这点是和String类最大的区别。
⑦另外由于StringBuffer是线程安全的,所以在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。
⑧StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以 接受任意类型的数据。
⑨StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用StringBuffer,如果想转成String类型,可以调用StringBuffer的toString()方法。
string插入字符_String类相关推荐
- c++ string截取字符串_String类的常见用法
字符串不变:字符串的值在创建后不能被更改.string对象是不可变的,所以它们可以被共享.string底层是靠字符数组实现的."abc"等效于char[] data={'a','b ...
- C++ STL笔记二:string容器;string构造函数;string赋值函数;string拼接;string查找、替换;string比较;string单个字符存取;string插入、删除、截取
本质: string是C++风格的字符串,而string本质上是一个类. string和char*区别: char*是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个ch ...
- HTML子选择器怎么加图,CSS伪类选择器:before、:after使用:插入字符、插入图片、插入项目编号...
before: 伪元素选择器用于在某个元素之前插入一些内容 伪类选择器:before使用content属性插入字符.属性插入图片 css3 .p_before:before { content: 'H ...
- html伪类元素加图片,CSS伪类选择器:before、:after使用:插入字符、插入图片、插入项目编号...
before: 伪元素选择器用于在某个元素之前插入一些内容 伪类选择器:before使用content属性插入字符.属性插入图片 css3 .p_before:before { content: 'H ...
- java .insert_Java StringBuffer.insert 插入字符
首页 > 基础教程 > 常用类 > 常用 StringBuffer&StringBuilder 类 Java StringBuffer.insert 插入字符 java中St ...
- Java字符字符串类
Java字符字符串类 Character 类 Character 类用于对单个字符进行操作.Character 类在对象中包装一个基本类型 char 的值在实际开发过程中,我们经常会遇到需要使用对象, ...
- java隐藏字符_Java原生隐藏字符-工具类
package com.seesun2012.common.util; /** 隐藏字符-工具类 @author seesun2012@163.com */ public class HiddenCh ...
- oracle插入java时间,java向oracle中插入字符或时间型 时间数据
/** * * @param date * @param bool true:插入时间类型,false:插入字符类型 * 向oracle中插入时间类型数据 * @return */ public st ...
- php批量新增数据类型,Yii框架批量插入数据扩展类的简单实现方法
本文实例讲述了Yii框架批量插入数据扩展类的简单实现方法.分享给大家供大家参考,具体如下: MySQL INSERT语句允许插入多行数据,如下所示: INSERT INTO tbl_name (a,b ...
最新文章
- LVM创建,缩减及快照备份
- Java NIO框架Netty教程(一) – Hello Netty
- php zval_copy_static_var(),深入理解 PHP7 中全新的 zval 容器和引用计数机制
- 神马是敏捷?(4)——敏捷不能当饭吃
- MySQL select语句直接导出数据
- C++课程设计(电影院自助售票管理系统)
- VOSviewer | (二)入门-分析web of science
- 计算机操作系统|汤小丹|第四版|习题答案
- vscode利用ssh远程连接linux虚拟机
- D*路径搜索算法原理解析及Python实现
- vm服务器复制文件,怎么实现从宿主机拖动复制文件到虚拟机VM中的示例
- 龙骨(Dragonbones)在Unity中换装的实现
- vs code进行c/c++开发
- qurlinfo在qt5中_QT5编译使用QFtp的方法步骤
- 数据仓库系列--维度表技术
- CSS中英文换行问题
- Android安全测试神器大全
- 初二物理模型有哪些_初中物理:模型分类及示例
- 电子器件——钽电容的简介
- 【模电—低频学习笔记(一)】信号的频谱