java中System类String Builder类简介

Posted 苦海123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中System类String Builder类简介相关的知识,希望对你有一定的参考价值。

System类:

System类为系统类,此包位于java.lang.System下,可以获得与系统相关的信息或系统操作,如:

public class SystemClass
    public static void main(String[] args)
        // 1.System下有许多静态的方法,其中currentTimeMillis()用来获取当前系统此刻的毫秒值,如:
        long currentMillis = System.currentTimeMillis();
        System.out.println(currentMillis);//1641306281620

        /* 2.arraycopy(Object src,int srcPos,Object dest,int destPos,int length)方法用来复制一个数组,
        其中参数:src源数组、srcPos源数组起始索引、 dest目标数据、destPos目标数组中起始索引、length需要复制数组的长度,如:*/
        int[] srcArr = 1,2,3,4;
        int[] destArr = 5,6,7,8;
        System.arraycopy(srcArr,1,destArr,1,2);
        for(int i = 0;i < destArr.length;i++)
            System.out.print(destArr[i]);//5238
        
    ;
;

String Builder类:

String Builder也称字符串缓冲区(可以提高操作效率,其底层是一个没有被final修饰的数组,Byte[] arr = new byte[16]),普通字符串一旦创建就不能被修改(其底层是一个被final修饰的数组),但是字符串缓冲区是可以被修改的;进行字符串拼接时,内存中会有多个字符串,占用空间多,效率低下;String Builder在内存中始终是一个可变的数组,占用空间小,超出容量自动扩容,效率高;

// 1.String Builder类位于java.lang下,因此无需导包。
public class StringBuilderClass
    public static void main(String[] args)
        // 2.其构造方法:StringBuilder(),构造一个不带任何字符的字符串生成器,其容量为16个字符,当里面传入一个字符串时,会调用另一个构造方法来创建一个带有初始字符内容的字符串生成器,如:
        StringBuilder str = new StringBuilder();
        System.out.println("str:"+str);//str:,这里实际是一个空字符串

        StringBuilder str2 = new StringBuilder("hello");
        System.out.println("str2:"+str2);//str2:hello

        // 3.其常用成员方法:append()添加任意数据类型的字符串形式,并返回当前对象自身;toString()将当前StringBuilder对象转换为String对象,如:
        StringBuilder strold = new StringBuilder();
        StringBuilder strnew = strold.append("新添加的字符串");
        System.out.println(strold);//新添加的字符串
        System.out.println(strnew);//新添加的字符串
        System.out.println(strold == strnew);//true,说明地址值相同,即为同一个字符串生成器,这里为同一个数组

        strnew.append(8).append(true).append(6.6);//java中也只支持链式编程的,一般能够返回自身的方法即可链式编程
        System.out.println(strnew);//新添加的字符串8true6.6
        
        // 3-1.字符串和字符串缓冲区是可以相互转换的,字符串转换为字符串缓冲区使用StringBuilder(str)构造方法即可,字符串缓冲区转换为字符串使用其toString()方法即可,如:
        String strString = "苦海";
        // strString.append(123);//报错,字符串无法使用append()方法,必须转换为字符串缓冲区才可以使用此方法
        System.out.println(strString);

        StringBuilder strStringChange = new StringBuilder(strString);//转换为字符串缓冲区后并赋值给新的变量
        strStringChange.append(123);
        System.out.println(strStringChange);//苦海123

        // strString.append(123);//报错,说明转换的并非原字符串,而是转换后返回一个新的转换后的结果(toString同样是)

        // 将字符串缓冲区转换为字符串:
        String strToString = strStringChange.toString();
        System.out.println(strToString);
        // strToString.append(1);//报错,说明已经将字符串缓冲区转换为字符串

        /* 特别强调:这里转换并非将原字符串或缓冲区进行了转换,而是转换后返回一个新的转换后的结果 */
    ;

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

以上是关于java中System类String Builder类简介的主要内容,如果未能解决你的问题,请参考以下文章

Java String类

java System类

Java中的String类常用用法

java String类

整理Java基础知识--String类

Java常用实体类--System类