首页 > 编程语言 >java学习日记20230405-StringBuffer类

java学习日记20230405-StringBuffer类

时间:2023-04-04 22:57:47浏览次数:34  
标签:java String StringBuffer 20230405 System println append out

StringBuffer类

  • java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删
  • 很多方法与String相同,但StringBuffer是可变长度的
  • StringBuffer是一个容器
  • StringBuffer是final类
  • 实现了Serializable接口,可以保存到文件或网络传输
  • 继承了抽象类AbstractStringBuider
  • AbstractStringBuider属性char[] value,存放字符序列,不是final类型,因此存放在堆中

 

  String和StringBuffer的区别:

  1. String保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率较低/final char value[]
  2. StringBuffer保存的是字符串变量,里面的值可以更改,每次StringBuffer的更新实际上可以更新内容,不用每次更新地址,效率较高/char[] value
  3. StringBuffer常用的构造器:
    1. 默认无参数构造器,默认长度16,char数组value
    2. 通过构造器指定大小StringBuffer(100);
    3. 通过String创建StringBuffer,大小为String.length+16
    4. StringBuffer和String转化
      public class StringBuffer01 {
          public static void main(String[] args) {
              //方式一,通过构造器
              String str = "Hello Tom";
              StringBuffer stringBuffer = new StringBuffer(str);
              System.out.println(stringBuffer);
      
              //方式二,通过append()
              stringBuffer.append(str);
              System.out.println(stringBuffer);
      
              //StringBuffer---String
              //方式一通过toString();
              String ss = stringBuffer.toString();
              System.out.println(ss);
      
              //方式二使用构造器
              String s1 = new String(stringBuffer);
              System.out.println("{}"+s1);
          }
      }
    5. StringBuffer常用方法:
      1. append
      2. delete(start,end)
      3. repalce(start,end,String)将start到end间的内容替换掉,不含end
      4. indexof查找子串在字符串第一次出现索引,如果没有返回-1
      5. insert
      6. 获取长度length
      7. StringBuffer常用方法示例
         public class StringBufferMethod {
            public static void main(String[] args) {
                StringBuffer s = new StringBuffer("hello");
                s.append(",张三丰");
                s.append(",赵敏").append(100);
                System.out.println(s);
                s.delete(1,5);
                System.out.println(s);
                s.replace(0,2,"hello,");
                System.out.println(s);
                System.out.println(s.indexOf("张三丰"));
                System.out.println(s.insert(0,"测试"));
                System.out.println(s.length());
        
            }
        }

    

标签:java,String,StringBuffer,20230405,System,println,append,out
From: https://www.cnblogs.com/DragonJack/p/17288010.html

相关文章

  • Java笔记(8) 异常和错误
    异常的简单分类检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如用户要打开一个不存在的文件,一个异常就发生了,这些异常在编译时不能被简单的忽略。运行时异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时......
  • Java中的 Stream 流02
    1、流的创建1.1、使用集合对象的stream()方法创建流数组对象,创建流时需要使用Arrays.stream()方法;集合类对象,可以在对象后直接使用.stream()方法转换为流;Map对象不能直接转换为流,但是可以对Map对象中的key、value、entrySet分别转换为流方便后续使用。//数组对象in......
  • Mac | 解决 MacOS 配置 Maven 出现的 Java_Home Error
    1.错误信息2.解决方案2.1对于Windows系统下解决方案https://blog.csdn.net/frankarmstrong/article/details/69945774,在MacOS下并不奏效2.2对于MacOS系统下的解决方案code~/.bash_profile#使用VSCode打开环境变量文件#配置Java_Home内容exportJAVA_HOME=$......
  • java -- Object类和String类
    Object类java.lang.Object类是Java语言中的根类,每个类都使用Object作为超类,所有的类都直接或间接继承自Object类。所有对象(包括数组)都实现这个类的方法。native本地方法在Object类的源码中定义了native修饰的方法,native修饰的方法称为本地方法。特点被native修饰的方......
  • Java基础(四)
    网络编程网络编程概述:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络编程操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,实现网络互联的不同......
  • java之NIO简介
    一、NIO基本简介NIO (NewlO)也有人称之为javanon-blockinglO是从Java1.4版本开始引入的一个新的IOAPI,可以替代标准的JavalOAPI。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操......
  • Java——Java8 新特性原理与实践
    摘要主要是的介绍一下JDK1.8的相关的新特性的知识,同时将JDK1.8新特性的代码开源在个人的github中,如果有需要参考的话请在:Senior-Architect/java语言基础atmaster·2462612540/Senior-Architect·GitHub一、接口内允许添加默认实现的方法Java8允许我们通过default关键字对......
  • java.secunty.AccessControException: the Permission java.io.FilePermission /hom
     利用oracle的java写入服务器的文件夹文件的时候会出现类似这种报错,看到报错我们可以猜到是关于权限的问题。   只需要利用sys用户在sqlplus或者plsql的命令行模式下执行下列代码就使得对应用户获得对应目录的读、写、删的权限了。 execdbms_java.grant_permissio......
  • 系统化学习前端之JavaScript(ES6:异步编程)
    前言JavaScript异步编程这块东西比较多,涉及到宏任务和微任务,所以单开一个篇幅梳理一下。同步和异步同步和异步是一种宏观概念,具体表现在JavaScript中,是同步任务和异步任务,即同步函数和异步函数。同步同步指函数在JavaScript同步执行。同步函数执行过程:A函数进入函数调......
  • Java:如何在PowerPoint幻灯片中创建散点图
    散点图是通过两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点,值由点在图表中的位置表示,类别由图表中的不同标记表示,通常用于比较跨类别的聚合数据。本文将为您介如何通过Java代码在PowerPoint幻灯片中创建......