关于JAVA学习_StringBuffer类

Java StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

常见方法:

 1 package demo1;
 2 
 3 import org.junit.Test;
 4 
 5 public class TestStringBuffer {
 6     
 7     @Test
 8     public void test(){
 9         //StringBuffer:可变字符串,可以在原有字符串值的基础上进行更改
10         //String:不可变,如果要要更改字符串的内容,会拿着更改后的字符串去字符串常量池去找,如果有,直接把地址值拿过来
11         //如果没有,创建一块新的内存保存更改后的字符串
12         
13         //1.用法
14         StringBuffer sb=new StringBuffer();
15         //2.添加  append():追加
16         sb.append("小白");//数据库sql文件
17         sb.append(",你很白吗?");
18         sb.append("select student.*  from student inner join classinfo");
19         sb.append(" on student.cid=classinfo.cid");
20         sb.append(" where cname='实验1班' and sname='小白'");
21         System.out.println(sb);
22         //3.insert(index,str):根据index的索引值讲str字符串添加到某个字符串的指定位置
23         sb.insert(0, "啊!");
24         System.out.println(sb);
25         
26         //4.delete(start,end):包含头不包含尾
27         sb.delete(8, 10);
28         System.out.println(sb);
29         System.out.println("-----------------------");
30         sb.deleteCharAt(1);
31         System.out.println(sb);
32     }
33 
34 }

运行截图:

 

 方法详见:https://www.runoob.com/java/java-string.html

 

posted @ 2020-09-28 19:35    阅读(95)  评论(0编辑  收藏  举报