栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

字符串String,StringBulider 和 StringBuffer

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串String,StringBulider 和 StringBuffer

二级标题 字符串String和StringBulider

简介:
为了避免String方法中每次拼接,都会构建一个新的对象,导致空间和时间上的浪费,因此提出了StringBulider
类解决这个问题。

1,创建字符串对象

形式一:
String str = “Oracle”;
形式二:
String str = new String(“Oracle”)
形式三:
String str = new String ();
str = “Oracle”;

注:如果直接赋值的方式创建对象,那么字符串会被保存在常量池中,如果使用new关键字利用String的构造方法来创建字符串对象时,每创建一次,就会在堆内存空间开辟新的空间,不同的对象有不同的指向

2,String 常用方法

获取字符串长度
int length = str.length();

查找字母“J”在字符串str第一次出现的位置
int index = str.IndexOf(“J”);

查找字母A在字符串str中最后一次出现的位置
int lastindex = str.lastIndestOf(“A”);

获取索引为8的字符
char char = str.charAt(8);

trim去除字符串前后空格
String trim = str.trim();

去除字符串中所有空格,使用replaceAll
String replaceAll = str.replaceAll(" “,” ");

indexOf查找字符或字符串第一次出现的位置的索引
int indexOf = str.indexOf(“JAVA”)

查找索引为6之后JAVA字符串第一次出现的位置
int indexOf6 = str.indexOf(“JAVA”, 6);

查找JAVA最后一次出现的位置
int lastJava = str.lastIndexOf(“JAVA”);

substring方法获取“java”
String str1 = str.substring(beginIndex,endIndex);

在substring方法使用过程中,如果beginIndex为负数或者大于str.length()的时候会报错
而在使用charAt方法时,一旦参数大于等于str.length()就会报相同错误

concat拼接
String str = “Oracle”;
String str1= “IBM”;
String str2 = str.concat(str1);
在字符串后面拼接指定字符串

字符串截取成字符串数组
String[] split = str.split(" ");

getBytes将字符换转换为字节数组,可以联合编码一起使用,常用于web工程处理参数编码业务中
String str = “我爱 JAVA 老师”;
byte[] bytes = str.getBytes(“GBK”);
for (byte b : bytes) {
System.out.print(b + " “);
}
String string = new String(bytes, “GBK”);
System.out.println(”n" + string);

3,==和equals 4, StringBuilder常用方法

为Oracle后面添加Apple,再添加Google
sb.append(“Apple”).append(“Google”);

在Apple和Oracle之间增加IBM
sb.insert(6, “IBM”);

将IBM替换成Tencent
sb.replace(6, 9, “Tencent”);

删除Apple
sb.delete(13, 18);

reverse():将字符串反转输出
StringBuffer sb1 = new StringBuffer(“频视的师老某看”);
sb1.reverse();

5,String和StringBuilder的区别:

String:内容是不可变的
StringBuilder:内容是可变的
StringBuilder是一个可变的字符串类,这里的可变指的是对象的内容可变。

6,StringBulider 和 String的相互转换

StringBulider 转化为 String
public String toString():通过 toString()就可以把StringBulider 转换为 String

String 转化为 StringBulider
public StringBulider(String s):通过构造方法就可以把 String 转换为 StringBulider

7,StringBuffer 和 StringBulide r的区别

StringBuffer 和 StringBulider 的区别在于线程安全问题。
StringBuffer的方法大多使用synchronized 关键字修饰,每次使用需要判断锁,因此线程安全,但是效率较低;
StringBulider的方法没有使用synchronized 关键字修饰,因此在多线程下不安全,但是效率较高。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/970422.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号