String 类方法+源码

CTRL+p提示

使用层面

public class test2 {
    public static void main(String[] args) {
        String email="111@qqq.com.cn";
        String suffix = email.substring(email.lastIndexOf("@"));

        if(email.indexOf("@")!=-1 && suffix.contains(".")
        &&suffix.substring(0,suffix.indexOf(".")).length()>=2){

        }
        System.out.println(String.join("#",email.split(".")));
        



    }
}

package kgc_byme.day20;


import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;

/**
 * @Description: TODO
 * @author: azzhu
 * @date:2021/6/7 8:54
 */
public class TestString {
    public static void main(String[] args) {
        //1.构造方法
        char[] cc = {'a','b','c'};
//        String str = new String(cc);

//       String str2 = new String(cc,0,2);



        byte[] bb = {1,2,4,8};
//        String str2 = new String(bb, StandardCharsets.UTF_8);
//        System.out.println(str2);

//        String str2 = new String(bb, Charset.forName("utf-8"));
        //这种写法,工具会提示多余
//        String ss = new String("aaaa");
        String str = " aa日照香炉生紫烟,李白来到烤鸭店,口水流下三千尺,想吃烤鸭没有钱Bb ";


        //常用的方法,必须掌握
        //1.获取长度 length()
        System.out.println("长度:" + str.length());

        //2.切割字符串,转为string数组
        //注意,若你的切割符没有,将整个字符串当成一个整体,即字符串数组中只有一个元素
        String[] split = str.split("-");
        System.out.println("---->" + Arrays.toString(split));
        System.out.println("---->" + split.length);

        //3.字母大小写转换
        System.out.println(str.toUpperCase());
        System.out.println(str.toLowerCase());

        //4.去掉两端空格
        System.out.println(str.trim());

        //5.判断是否包含某个子串
        System.out.println(str.contains("紫烟"));

        //6.获取某个字符串  charAt()
        System.out.println(str.charAt(4));

        //7.截取子串
        //从startIndex开始,直接截取到最后
        System.out.println("截取:" + str.substring(3));
        //[startIndex,endIndex)
        System.out.println("截取2:" + str.substring(3,4));

        //8.查找某个子串第一次/最后一次出现的位置
        System.out.println("烤鸭第一次出现的下标:" + str.indexOf("烤鸭"));
        //指定从哪个index开始找!!!
        System.out.println("烤鸭第一次出现的下标:" + str.indexOf("烤鸭",16));
        System.out.println("烤鸭最后一次出现的下标:" + str.lastIndexOf("烤鸭"));

        //9.将字符串转为对应的字符或者字节数组
        char[] chars = str.toCharArray();
        System.out.println("转换后的字符数组:" + Arrays.toString(chars));

        //将字符串变为一个字节数组
        byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
        System.out.println("转换后的字节数组:" + Arrays.toString(bytes));

        //10.以xx开头或结尾
        System.out.println(str.startsWith("a"));
        System.out.println(str.endsWith(" "));

        //11.字符串的拼接
        System.out.println(str.concat("aaa"));

        //12.替换
        System.out.println(str.replace("烤鸭", "烤鸡"));

        //13.判空
        System.out.println(str.isEmpty());

        //14.将字符串数组用指定的符号连接起来,变为一个字符串
       // char[] ccs = {'1','2','5'};
        String[] aaa = {"111","2222","3333"};
        String result = String.join("-",aaa);
        System.out.println(result);
    }
}

源码分析



String toString

  public static String toString(Object[] a) {
        if (a == null)
            return "null";

        int iMax = a.length - 1;
        if (iMax == -1)
            return "[]";

        StringBuilder b = new StringBuilder();
        b.append('[');
        for (int i = 0; ; i++) {
            b.append(String.valueOf(a[i]));
            if (i == iMax)
                return b.append(']').toString();
            b.append(", ");
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值