Java蒟蒻的学习之路——StringBuffer和StringBuilder类

String类型之前有过学习,但是发现了一个问题,就是String类型有个“隐形”的const,String的一些操作不能再源字符串中进行修改,必须要新建一个。但是StringBuffer和StingBuilder可以在源字符串中进行修改,StringBuffer支持多线程,但是在单线程中StringBuilder运行速度更快。

 1 package javaLearning;
 2 public class MainTest {
 3     public static void main(String []args){
 4         //StringBuffer类常用方法
 5         StringBuffer s = new StringBuffer("RNGNB");
 6         s.append("LPLNB"); //在s后连接一个字符串
 7         s.insert(3,"ABC");//s中间插入一个字符串,第一个参数是在第几个里面插入,第二个是要连接的字符串
 8         System.out.println(s);
 9         System.out.println(s.capacity());//返回此时s的容量
10         System.out.println(s.indexOf("RN")); //返回这个字符串第一次出现的位置
11         s.reverse();//将字符串倒置
12         System.out.println(s);
13         s.replace(0,1,"SSS"); //用str替换start到end字符串
14         System.out.println(s);
15     }
16
17
18 }

StringBuilder的方法和StringBuffer很相像,就不再打一次了

原文地址:https://www.cnblogs.com/TheSilverMoon/p/9651584.html

时间: 2024-08-29 22:17:06

Java蒟蒻的学习之路——StringBuffer和StringBuilder类的相关文章

Java蒟蒻的学习之路——类的学习(部分与c++不同之处)

上学期的面向对象程序设计课是用c++语言上的,到了java的话,思想应该没有太大的变化,但是语法部分有一些改变,这里记录一下(IDEA吹爆) import java.lang.System; import java.util.Collections; import java.util.Comparator; import java.util.Scanner; import java.util.Arrays; class A{ public int num1; private int num2;

Java StringBuffer和StringBuilder类

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象. StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问). 由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBui

Java StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象. StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问). 由于 StringBuilder 相较于 StringBuffer 有速度优势,

Java 12 - Java StringBuffer和StringBuilder类

Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象. StringBuilder类在Java 5中被提出,它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某

AJPFX关于StringBuffer,StringBuilder类 总结(一)

StringBuffer,StringBuilder类 StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高 StringBuffer:概述1) 用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,        为了解决这个问题,Java就提供了       一个字符串缓冲区类.StringBuffer供我们使用. *        StringBuffer 线程安全的可变字符串. * StringBuffer的构造方法:

StringBuffer 和 StringBuilder 类

StringBuffer 和 StringBuilder 类 当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象. StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问). 由于 String

浅谈String、StringBuffer和StringBuilder类的区别

1.均可对字符串进行修改,但StringBuffer和StringBuilder类的对象进行多次修改时,不产生新的未使用对象. String 的底层是用final修饰的char数组,变量的内容不可变——内存占用高,资源利用率低: StringBuffer和StringBuilder类 则继承了AbstractStringBuilder类,其未使用final修饰char数组,变量内容动态更新——无效数组等待垃圾回收,减少资源占用; 2.StringBuilder相较于StringBuffer有速度

博主自传——蒟蒻的OI之路

博主来自河北石家庄市第二中学,现在读高二,主攻信息学竞赛(其实并没有学习其他学科竞赛). NOIP中人品大爆发,使劲挤进河北省一等奖队伍,侥幸留在竞赛团队中(差点就淘汰出局啦). 关于我的ID,YOUSIKI,就是那四个平假名,没有什么实际意义.若搜到日本某艺人,和我无关. NOIP前主要活跃在PekingUniversityOnlineJudge(不知道拼错木有),现在主要活跃在Lydsy(小伙伴们都叫他BZOJ). 在各个OJ上基本都有号(有大号也有小号),ID都是YOUSIKI.Tyvj,

【JAVA中String、StringBuffer、StringBuilder类的使用】

一.String类概述 1.String对象一旦创建就不能改变. 2.字符串常量池. 字符串常量池的特点:池中有则直接使用,池中没有则创建新的字符串常量. 例1: 1 public class StringDemo 2 { 3 public static void main(String args[]) 4 { 5 StringDemo1(); 6 7 } 8 public static void StringDemo1() 9 { 10 String str1="abcd"; 11