第13章 常用类

一、包装类

二、String

String的常用方法:

  • equals:判断内容是否相等,区分大小写。
        String str1 = "hello";
        String str2 = "Hello";
        System.out.println(str1.equals(str2));//false
  • equalsIgnoreCase:判断内容是否相等,不区分大小写。
        String username = "john";
        if(username.equalsIgnoreCase("johN")) {//输出 相等
            System.out.println("相等");
        } else {
            System.out.println("不等");
        }
  • length:获取字符的个数,字符串的长度。
        System.out.println("韩顺平".length());//3
  • indexOf:获取字符在字符串对象中第一次出现的索引,索引从0开始,如果找不到,则返回-1。
  • lastIndexOf:获取字符在字符串对象中最后一次出现的索引,索引从0开始,如果找不到,则返回-1。
        String s1 = "wer@terwe@g@";
        System.out.println(s1.indexOf('@'));//3
        System.out.println(s1.indexOf("we"));//0
        System.out.println(s1.lastIndexOf('@'));//11
        System.out.println(s1.lastIndexOf("we"));//7
  • subString:截取指定范围的字符串。
        String name = "hello,张三";
        System.out.println(name.substring(6));//张三  截取 [6,最后] 的字符串
        System.out.println(name.substring(1, 6));//ello,  截取 [1,6) 的字符串
  • toUpperCase:转换成大写。
  • toLowerCase:转换成小写。
        String s = "heLLO";
        System.out.println(s.toUpperCase());//HELLO
        System.out.println(s.toLowerCase());//hello
  • concat:拼接字符串。
        String s1 = "宝玉";
        s1 = s1.concat("林黛玉").concat("薛宝钗").concat("together");
        System.out.println(s1);//宝玉林黛玉薛宝钗together
  • replace:替换,在字符串中找到第一个参数,全部替换为第二个参数。
    注意:返回替换后的字符串,替换不会对原本的字符串造成影响。
        String s2 = "宝玉 and 林黛玉 林黛玉 林黛玉";
        String s3 = s2.replace("林黛玉", "薛宝钗");
        System.out.println(s2);//宝玉 and 林黛玉 林黛玉 林黛玉
        System.out.println(s3);//宝玉 and 薛宝钗 薛宝钗 薛宝钗
  • split:分割字符串。
    注意:如果有特殊字符,需要用转义符\
        String poem = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦";
        String[] split = poem.split(",");
        for (int i = 0; i < split.length; i++) {
            System.out.println(split[i]);
            //锄禾日当午
            //汗滴禾下土
            //谁知盘中餐
            //粒粒皆辛苦
        }
        String poem1 = "C:\\idea_java_projects\\chapter13";
        String[] split1 = poem1.split("\\\\");
        for(int i = 0; i < split1.length; i++) {
            System.out.println(split1[i]);
            //C:
            //idea_java_projects
            //chapter13
        }
  • compareTo:比较两个字符串的大小
    (1)先逐个比较字符的内容,如果遇不等,则返回两个字符的差;
    (2)如果前面比较的部分相等,但其中一个字符串没有字符了,即长度不等,则返回两个字符串的长度差;
    (3)如果每个字符都相同,长度也相同,则返回0.
        String str = "jack";

        String a1 = "jaa";
        String a2 = "jaak";
        String a3 = "jaakk";
        System.out.println(a1.compareTo(str));//-2 'a' - 'c' = -2
        System.out.println(a2.compareTo(str));//-2 'a' - 'c' = -2
        System.out.println(a3.compareTo(str));//-2 'a' - 'c' = -2

        String b1 = "jac";
        String b2 = "jacka";
        System.out.println(b1.compareTo(str));//-1 b1.length - str.length = -1
        System.out.println(b2.compareTo(str));//1  b2.length - str.length = 1

        String c = "jack";
        System.out.println(c.compareTo(str));//0
  • charAt:返回指定索引处的字符
        String s5 = "hspeduxyz";
        System.out.println(s5.charAt(5));//u
  • getBytes:将字符串转换为字节数组。
//第一种:该方法将使用平台默认的字符编码方式,将字符串转换为字节数组。
//返回一个byte数组,其中每个字节都表示字符串中相应位置的字符。
public byte[] getBytes();
//第二种:该方法需要传入一个字符编码方式charsetName作为参数,将字符串转换为字节数据。
//可能会抛出UnsupportedEncodingException异常,需要进行异常处理。
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException;
String str01 = "Hello,你好,こんにちは";

        //使用平台默认字符编码方式
        byte[] bytesDefault = str01.getBytes();
        System.out.println("使用平台默认字符编码方式进行转换:");
        for(byte b : bytesDefault) {
            //打印字节数组的十六进制表示
            System.out.print(Integer.toHexString(b & 0xFF).toUpperCase() + " ");
            //48 65 6C 6C 6F 2C E4 BD A0 E5 A5 BD 2C E3 81 93 E3 82 93 E3 81 AB E3 81 A1 E3 81 AF 
        }

        //使用UTF-8字符编码方式
        try {
            byte[] bytesUTF8 = str01.getBytes("UTF-8");
            System.out.println("\n使用UTF-8字符编码方式进行转换:");
            for(byte b : bytesUTF8) {
                System.out.print(Integer.toHexString(b & 0xFF).toUpperCase() + " ");
                //48 65 6C 6C 6F 2C E4 BD A0 E5 A5 BD 2C E3 81 93 E3 82 93 E3 81 AB E3 81 A1 E3 81 AF 
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        //使用ISO-8859-1字符编码方式
        try {
            byte[] bytesISO8859 = str01.getBytes("ISO-8859-1");
            System.out.println("\n使用ISO-8859-1字符编码方式进行转换:");
            for(byte b : bytesISO8859) {
                System.out.print(Integer.toHexString(b & 0xFF).toUpperCase() + " ");
                //48 65 6C 6C 6F 2C 3F 3F 2C 3F 3F 3F 3F 3F 
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

三、StringBuffer

四、StringBuilder

五、Math

六、Date、Calender、LocalDate...

七、System

八、Arrays

九、BigInteger BigDecimal

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值