zoukankan      html  css  js  c++  java
  • java学习之字符串缓冲区

    1 StringBuffer类

    StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。

    StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。

    2 StringBuffer的方法使用

    package com.oracle.Demo01;
    
    public class Demo01 {
        public static void main(String[] args) {
            method01();
        }
        public static void method01(){
            StringBuffer sb=new StringBuffer();
            //想字符串缓冲区中添加元素
            sb.append("a").append('中').append(true).append(1.2);
            System.out.println(sb);
            //移除此序列子字符串中的数值
            sb.delete(0, 2);
            System.out.println(sb);
            //将字符串插入此字符序列中
            sb.insert(0, "a");
            System.out.println(sb);
            //替换指定位置的字符串(包头不包尾)
            sb.replace(1, 2, "nihao");
            System.out.println(sb);
            //反转
            sb.reverse();
            System.out.println(sb);
        }
    }

    运行结果为:

      注意:append、delete、insert、replace、reverse方法调用后,返回值都是当前对象自己,所以说,StringBuffer它可以改变字符序列的长度和内容。

    3 StringBuffer对象的方法链式调用

    在我们开发中,会遇到调用一个方法后,返回一个对象的情况。然后使用返回的对象继续调用方法。这种时候,我们就可以把代码现在一起,如append方法一样,代码如下:

    创建一个字符串缓冲区对象。用于存储数据。
    StringBuffer sb = new StringBuffer();
    添加数据。不断的添加数据后,要对缓冲区的最后的数据进行操作,必须转成字符串才可以。
    String str = sb.append(true).append("hehe").toString();

    4 StringBuffer的练习

    练习:int[] arr = {34,12,89,68};将一个int[]中元素转成字符串  格式 [34,12,89,68]

    public static String toString_2(int[] arr) {
            StringBuffer sb = new StringBuffer();        
            sb.append("[");
            for (int i = 0; i < arr.length; i++) {
                if(i!=arr.length-1){
                    sb.append(arr[i]+",");
                }else{
                    sb.append(arr[i]+"]");
                }
            }        
            return sb.toString();
        }

    l  无论多少数据,数据是什么类型都不重要,只要最终变成字符串就可以使用StringBuffer这个容器

  • 相关阅读:
    (转)Mat, vector<point2f>,Iplimage等等常见类型转换
    人脸检测与识别的趋势和分析
    经典网络LeNet5看卷积神经网络各层的维度变化
    C++: int int& int * int**的区别、联系和用途
    c++从txt中读取数据,数据并不是一行路径(实用)
    Spyder常用快捷键
    批量读写变换图片(转)
    OpenCV属性页配置问题~
    视觉目标检测和识别之过去,现在及可能(2017.06.28)
    数据库---SQL Server
  • 原文地址:https://www.cnblogs.com/zzq123/p/10069662.html
Copyright © 2011-2022 走看看