String类、StringBuilder类、StringBuffer类
String类是不可变类,创建了一个String对象后,该String对象中的字符序列不能被改变。
StringBuilder是字符序列可变的字符串类,提供了一系列修改字符串的方法。
StringBuffer和StringBuilder相似,但StringBuffer是线程安全的,StringBuilder效率更高。
String类的构造函数:
String() 创建一个包含0个字符序列的String对象,并不是null
String(String str); 通过字符串直接量创建String对象
String(StringBuffer sb) 通过StringBuilder对象来创建String对象
String(StringBuilder sb)
String(byte[] bytes,.......) 通过byte[]创建
String(char[] chars) 通过char数组创建String对象
String(byte[] bytes,Charset charset) 用指定的字符集将一个byte数组解码成一个String对象
String(byte[] bytes,String charset) 同上
String类常用的方法:
int length() 返回字符串长度
char charAt(int index) 获取指定位置的字符
String concat(String str) 连接2个字符串,和 + 作用相同。原串不变。
boolean equals(Object obj)
boolean equalsIgnoreCase(Object obj) 同上,只是忽略大小写
boolean satrtsWith(String str)
boolean endsWith(String str)
int indexOf(char ch) 返回该字符第一次出现的位置
int indexOf(String str)
int lastIndexOf(char ch) 最后一次出现的位置
int lastIndexOf(String str)
String substring(int start,int end) 提取某个区间的字符串
String replace(....) 替换,返回的是副本,原串不变
byte[] getBytes() 转换为byte数组
char[] toCharArray() 转换为char数组
String toUpperCase()
String toLowerCase()
static String valueOf(Xxx x) 将基本数据类型转换为String,静态方法
由于String是不可变的,所以操作过程中会产生很多临时变量。使用StringBuffer或StringBuilder则可以避免此问题。
String是不可变类,提供的方法都不会改变String本身。
往往提供了多个重载方法。
两个区间,往往是:[start,end) 包含前者,不包含后者。
替换操作,往往是(old,new),老的在前,新的在后。
StringBuffer、StringBuilder提供了多个重载的构造函数,常用的:
StringXxx()
StringXxx(String str) 通过字符串直接量
StringBuilder、StringBuffer常用方法;
StringXxx sb=.......;
sb.append(String str);
sb.insert(int index,String str);
sb.replace(.....);
sb.reverse() 反序
StringBuffer、StringBuilder提供的方法会实际修改字符串。
String类、StringBuilder类、StringBuffer类的更多相关文章
- 解析Java中的String、StringBuilder、StringBuffer类(一)
引言 String 类及其相关的StringBuilder.StringBuffer 类在 Java 中的使用相当的多,在各个公司的面试中也是必不可少的.因此,在本周,我打算花费一些时间来认真的研读一 ...
- String、StringBuilder和StringBuffer类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- [19/03/15-星期五] 常用类_String类&StringBuilder和StringBuffer类
一.基本概念 String 类对象代表不可变的Unicode字符序列,因此我们可以将String对象称为“不可变对象”. 那什么叫做“不可变对象”呢? 指的是对象内部的成员变量的值无法再改变.Str ...
- java String,StringBuilder和StringBuffer类的区别
对String而言: String是只读字符串,所引用的字符串不能被改变,一经定义,无法再增删改. String 定义的字符串保存在常量池里面,进行+操作时不能直接在原有基础上拼接. 每次+操作 : ...
- java 常用类库:String ; StringBuilder和StringBuffer类
1. String 1.String对象是不可变的 String类的value属性是用来存放字符串里面的值的.这个属性是被final修饰的.final修饰的变量不能够被第二次赋值,所以字符串是不可变的 ...
- 探秘Java中的String、StringBuilder以及StringBuffer
探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...
- 探秘Java中String、StringBuilder以及StringBuffer
探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...
- java中String、StringBuilder、StringBuffer三者的区别
在Java项目开发中,字符串是最长使用的数据类型,而有关字符串的String.StringBuilder.StringBuffer三者又常常让人分不清楚什么时候该使用哪个. 特此整理一下. Strin ...
- Java中String、StringBuilder以及StringBuffer
原文出处: 海子 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffe ...
- 关于 String,StringBuilder,StringBuffer
关于 String,StringBuilder,StringBuffer 的讨论,已有很多文章:在这里,我希望能刨根问底,更进一步的理解其中的原理. String String 是final类型,不可 ...
随机推荐
- Poj_1011_Sticks(剪枝)
一.Description 乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位.然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度. ...
- nagios监控windows配置
1.下载并安装windows插件 http://sourceforge.net/projects/nscplus/NSCP-0.4.1.73-x64.msi2.windows端配置 nsclient. ...
- 水题 等差数列HDU 5400 Arithmetic Sequence
主要是要知道它对于等差数列的定义,单个数也可以作为等差数列且一定满足题意,另外就是要算清楚区间与区间的关系,考虑两大类情况,一种是d1区间和d2区间连在一起,另外一种情况就是其余情况. #includ ...
- rmmod: chdir(/lib/modules): No such file or directory
内核版本:linux3.4.20 交叉编译器:arm-linux-gcc 4.3.3 busybox : busybox 1.20 问题: 使用rmmod会出现 rmmod : chdir(/lib ...
- 'xxx' declared `static' but never defined
'xxx' declared `static' but never defined [问题描述] uart.c文件中有函数read_sample的实现: [plain] view plain copy ...
- eclipse中如何去除警告:Class is a raw type. References to generic type Class<T> should be parameterized
转自:https://blog.csdn.net/zwr_1022/article/details/78583872 解决前的源代码: public class test {public static ...
- phpcms换域名细节
修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名. 进入后台设置-->站点管理,对相应的站点的域名修改为新域名. 点击后台右上角的&quo ...
- 蜂窝网络TDOA定位方法的Fang算法研究及仿真纠错
科学论文为我们提供科学方法,在解决实际问题中,能极大提高生产效率.但论文中一些失误则可能让使用者浪费大量时间.自己全部再推导那真不容易,怀疑的成本特别高,通常不会选择这条路.而如果真是它的问题,其它所 ...
- CSS 绝对定位与相对定位的区别
设置为绝对定位的元素框从文档流完全删除, 并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块. 元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样. 元素定位后生成一 ...
- [openjudge] 2797最短前缀 Trie
描述 一个字符串的前缀是从该字符串的第一个字符起始的一个子串.例如 "carbon"的字串是: "c", "ca", "car&q ...