文章目录
前言
在Java学习中,我们会经常用到StringBuilder这个类,为了方便系统学习,现在此总结StringBuilder类的一些使用方法,方便复习用
一、StringBuilder和String的转换
String转StringBuilder
String a = new String("123");
StringBuilder s = new StringBuilder(a);
StringBuilder转String
String s2 = s.toString(s);
二、StringBuilder的常用方法
1.字符串拼接 append()
代码如下:
StringBuilder s = new StringBuilder("hzy ");
//直接调用append();
s.append("aaa ");
//也可以如下拼接
s.append("bbb ").append("ccc ");
System.out.println(s);
输出结果如下
hzy aaa bbb ccc
2.指定位置删除 delete(int a,int b)
(1)删除字符串
代码如下:
StringBuilder s = new StringBuilder("0123456789");
s.delete(0,3);//从0位置开始,到3结束(左闭右开,不包括3)
System.out.println(s);
输出结果如下
3456789
(2)删除对应位置数据 deleteCharAt(index)
代码如下:
StringBuilder s = new StringBuilder("0123456789");
s.deleteCharAt(3);
System.out.println(s);
输出结果如下
012456789
3.查找字符串 indexOf(String str)
PS:注意函数里面参数必须是String类型,Stringbuilder的都不行
(1)
int indexOf(String str),输出第一个匹配的索引。
int indexOf(String str, int fromIndex),从指定的索引处开始,输出第一个匹配的索引。
(若找不到则输出-1)
代码如下:
StringBuilder s = new StringBuilder("0123456789");
int t1 = s.indexOf("789");//找789,返回索引
int t2 = s.indexOf("777");
System.out.println(t1);
System.out.println(t2);
输出结果如下
7
-1
(2)
int lastIndexOf(String str),输出最后一个匹配的索引。
int lastIndexOf(String str, int fromIndex),从指定的索引处开始,输出最后一个匹配的索引。
(若找不到则输出-1)
代码如下:
StringBuilder s = new StringBuilder("aabbbbaa");
int t1 = s.lastIndexOf("aa");//从后往前找
System.out.println(t1);
输出结果如下
6
4.改(替换字符串) replace(int i,int j,String str)
代码如下:
StringBuilder s = new StringBuilder("0123456789");
s.replace(3, 5, "aaaaa");
System.out.println(s);
输出结果如下
012aaaaa56789
5.插入数据 insert(int i,String str)
代码如下:
StringBuilder s = new StringBuilder("0123456789");
s.insert(5, "aaaaa");
System.out.println(s);
输出结果如下
01234aaaaa56789
6.字符串反转 reverse
代码如下:
StringBuilder s = new StringBuilder("0123456789");
s.reverse();
System.out.println(s);
输出结果如下
9876543210
7.获取字符 charAt(int i)
代码如下:
StringBuilder s = new StringBuilder("0123456789");
System.out.println(s.charAt(3));
输出结果如下
3
8.获取字符串 substring
(1)从某个位置开始到最后
(2)从某个位置开始到某个位置结束
代码如下:
StringBuilder s = new StringBuilder("0123456789");
System.out.println(s.substring(5));
System.out.println(s.substring(5,8));
输出结果如下
56789
567
总结
为什么要用StringBuilder进行字符串操作而不是String呢,因为StringBuilder的修改会比String节省不少内存空间
以上就是StringBuilder的一些常用的方法,未完待更新
版权声明:本文为weixin_61263533原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。