• 3.6.9 构建字符串


        有时,需要由较短的字符串构建字符串,例如,按键或来自文件中的单词。采用字符串链接的凡是达到此目的的效率比较低。每次连接字符串,都会构建一个新的String对象,既耗时有浪费空间。使用StringBuilder类就可以避免这个问题。
     
        首先,构建一个空的字符串的构建器:
            StringBuilder builder = new StringBuilder();
     
        当每次需要添加一部分内容时,就调用append()方法。
            builder.append(ch);       //appends a single character
            builder.append(str);      // appends a string
     
        在需要构建字符串时就调用toString()方法,将可以得到一个String对象,其中包含了构建器中的字符序列。
            String completedString = builder.toString() ; 
     
                  StringBuilder builder = new StringBuilder();
                String s1 = "我爱你";
                String s2 = "中国";
                builder.append(s1);
                builder.append(s2);
                String s3 = builder.toString();
                System.out.println(s3);    //我爱你中国
     
     
        java.lang.StringBuilder 类中的重要方法   
     
    一个代码单元就是一个字符的意思
    方法名 返回值类型 作用
    StringBuilder   构建一个空的字符串构建器
    length int 返回构建器或缓冲器中的代码单元数量
    append(String str) StringBuilder  追加一个字符串并返回this
    append(char c) StringBuilder 追加一个代码单元并返回this
    appendCodePoint( int cp) StringBuilder 追加一个代码点,并将其转换为一个或两个代码单元并返回this
    setCharAt( int i , char c) void 将第i个代码单元设置为c
    insert( int offset,String str) StringBuilder 在offset位置插入一个字符串并返回this
    insert( int offset,Char c) StringBuilder 在offset位置插入一个代码单元并返回this
    delete(int startIndex,int endIndex) StringBuilder 删除偏移量从startIndex到-endIndex-1的代码单元并返回this。
    toString() String 返回一个与构建器或缓冲器内容相同的字符串
     
                StringBuilder builder = new StringBuilder();
                String s1 = "我爱你";
                String s2 = "中国";
                builder.append(s1);
                builder.append(s2);
                System.out.println("缓冲器中的字符数:" + builder.length());
                String s3 = builder.toString();  // 缓冲器中的字符数:5
                System.out.println(s3);          // 我爱你中国
  • 相关阅读:
    Load a properties file Real's Java Howto
    [nodejs]保证你的程序死了还能复活:forever and forever webui MK2 博客园
    为嵌入式系统开发软件和为高性能计算或大型分布式平台开发软件,二者需要的技能在很大称度上相同,我不是第一个发现这一点的人。
    HTTP Range说明 lenoval的专栏 博客频道 CSDN.NET
    『NodeJS』简单的本地 DNS 代理脚本
    Automation | Coyote Point Systems
    Java 高层网络编程
    SQL 语句大全
    浅谈AVG游戏中的脚本
    How to debug Bluetooth
  • 原文地址:https://www.cnblogs.com/avention/p/10123693.html
Copyright © 2020-2023  润新知