zoukankan      html  css  js  c++  java
  • 2020年9月18日 可变字符序列:StringBuffer和StringBuilder(尽量掌握底层代码跟踪分析的能力)

    package com.atguigu.test10;
    
    import org.junit.Test;
    
    /*
     * 字符串的兄弟类:
     * 
     * String:不可变对象。一旦修改就会有新对象。
     * 引入:可变字符序列,StringBufferStringBuilder
     * 
     * StringBuilder默认的char[]长度为16;
     *         不够了,扩容为原来的2倍+2
     * 
     * StringBuffer和StringBuilder:
     * StringBuffer线程安全的
     * StringBuilder线程不安全的,JDK1.5引入
     * 
     * 方法:
     * (1)append(xx):拼接,连接
     * (2)insert(index,xxx):在index位置插入xx
     * (3)delete(int start, int end):删除[start,end)范围内
     * (4)deleteCharAt(int index):删除[index]位置
     * (5)reverse():反转
     * (6)setCharAt(int index, char ch):替换[index]位置的字符为ch
     * (7)setLength(int newLength) 
     * (8)substring(int start, int end):截取
     * (9)indexOf(String str) 
     (10)lastIndexOf(String str)
     .....
     */
    public class TestStringBuilderBuffer {
        @Test
        public void test6(){
            StringBuilder s = new StringBuilder("helloworld");
            s.setLength(30);
            System.out.println(s);
        }
        @Test
        public void test5(){
            StringBuilder s = new StringBuilder("helloworld");
            s.setCharAt(2, 'a');
            System.out.println(s);
        }
        
        
        @Test
        public void test4(){
            StringBuilder s = new StringBuilder("helloworld");
            s.reverse();
            System.out.println(s);
        }
        
        @Test
        public void test3(){
            StringBuilder s = new StringBuilder("helloworld");
            s.delete(1, 3);
            s.deleteCharAt(4);
            System.out.println(s);
        }
        
        
        @Test
        public void test2(){
            StringBuilder s = new StringBuilder("helloworld");
            s.insert(5, "java");
            s.insert(5, "chailinyan");
            System.out.println(s);
        }
        
        @Test
        public void test1(){
            StringBuilder s = new StringBuilder();
            s.append("hello").append(true).append('a').append(12).append("atguigu");
            System.out.println(s);
            System.out.println(s.length());
        }
    }
  • 相关阅读:
    自己动手写RTP服务器——传输所有格式的视频
    自己动手写RTP服务器——用RTP协议传输TS流
    自己动手写RTP服务器——关于RTP协议
    P2P直播、点播技术学习经验
    开源网络通信库参考
    小明历险记:规则引擎drools教程一
    Drools规则引擎入门指南(一)
    drools规则引擎初探
    《高性能MySQL》笔记-BLOB与TEXT
    业务系统上下游数据一致性检测系统(类似对账系统)
  • 原文地址:https://www.cnblogs.com/douyunpeng/p/13690493.html
Copyright © 2011-2022 走看看