zoukankan      html  css  js  c++  java
  • String StringBuffer StringBuilder

    三者的异同

    String:不可变,底层使用char[存储]

    StringBuffer:可变,jdk1.0就有线程安全,效率低

    StringBuilder:可变,jdk5.0,线程不安全,效率高

    比较三者的效率:

    String<StringBuffer<StringBulider

    package string;
    
    import org.junit.Test;
    
    /*
     * 关于StringBuffer的常用方法
     * 增:append()
     * 删:delete(int start ,int end)
     * 改:setCharAt(int n,char ch),replace(int start,int end,String str)
     * 查:charAt()
     * 插:insert()
     * 长度:length()
     * 遍历:for+cahrAt()/toString
     * 
     */
    
    public class TestOne {
        
        @Test
        public void test1() {
            System.out.println("***********测试StringBuffer******************");
            StringBuffer sb1=new StringBuffer();
            sb1.append(1234).append("abcd");
            System.out.println(sb1.toString());
            sb1.delete(1, 3);
            System.out.println(sb1.toString());
            sb1.setCharAt(2, 'm');
            System.out.println(sb1.toString());
            sb1.insert(3, true);
            System.out.println(sb1.toString());
            System.out.println(sb1.length());
            
            System.out.println("***************测试StringBuilder********************");
            StringBuilder sl1=new StringBuilder();
            sl1.append(4567).append("efgh");
            sl1.insert(0, 'c');
            System.out.println(sl1.toString());
            
            //字符串是length()方法
            System.out.println("******************测试String字符串*****************");
            String s1=new String();
            s1="opq";
            System.out.println(s1.contains(sb1));//flase
            System.out.println(s1.charAt(1));//p
            System.out.println(s1);//opq
            System.out.println(s1.length());//3
            //数组是length属性
            System.out.println("******************测试数组*****************");
            int[] int1=new  int[] {1,2,3};
            System.out.println(int1.length);
        }
        
        
        
    
  • 相关阅读:
    mzy git学习,分支以及分支合并(四)
    mzy git学习,删除文件(三)
    mzy git学习,撤销修改(二)
    mzy git学习,初识git(一)
    apche的BeanUtils避免使用!
    eclipse性能调优的一次记录
    Java规范化代码eclipse模板注释
    左倾堆(对两个优先队列合并)
    二叉堆的实现(数组)——c++
    哈夫曼树——c++
  • 原文地址:https://www.cnblogs.com/ylblikestudyJava/p/12385978.html
Copyright © 2011-2022 走看看