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联系笔者删除。
笔者:苦海

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦海123

快乐每一天!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值