如果想使用空字符串作为分隔符,建议使用ASCII里的0x01/0x02,0x01/0x02称作隐藏字符,从键盘无法输入,这样可以避免需要分隔的字符串本身含有键盘输入的空格出现我们不期望出现的结果.
小示例:

    private static final byte OPCODE = 0x01;
    @Test
    public void testSplit(){
        System.out.println(" TEST".length());//5
        System.out.println((OPCODE+" TEST").split(Byte.toString(OPCODE))[1].length());//5
        System.out.println("  TEST".length());//6
        System.out.println("  TEST".split("  ")[1].length());//4,如果使用一个空格分隔不会成功
    }

从1,2输出长度都是5,我们可以看出' TEST'本身自带空格还在;
3,4的例子中' TEST'是有两个空格的,如果我们使用一个空格去分隔是会失败的,有时候我们很难看出需要处理的字符串中含有多少空格,所以在拼接、分隔的时候建议显示的使用0x01、0x02。


步履不停
38 声望13 粉丝

好走的都是下坡路