黑马程序员技术交流社区

标题: 关于String中的split方法分割字符串出现空值 [打印本页]

作者: hzw9897    时间: 2018-5-6 00:46
标题: 关于String中的split方法分割字符串出现空值
[Java] 纯文本查看 复制代码
public class Demo05Split {

        public static void main(String[] args) {
               
                String str1 = "boo:and:foo";
                String[] array = str1.split("o");
                System.out.println("数组长度:" + array.length);
                for(String str : array) {
                        System.out.println("“" + str + "”" );
                }
        }
       
}


输出结果为:

数组长度:3
“b”
“”
“:and:f”

问题:返回的数组第二个元素为什么会是 “”空值呢?
作者: hzw9897    时间: 2018-5-7 07:54
已经解决,相当于split("o",0),最后的空字符串会被丢弃。
split的表现形式为:给定正则表达式匹配的字符串分割开的都被视为子元素,即使为空值。
在代码中就是“o”作为分割,“o”前后的都为子元素。
b||:and:f|| -->  b|""|and:f|""|""  -->  b|""|and:f





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2