A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

hzw9897

初级黑马

  • 黑马币:37

  • 帖子:19

  • 精华:0

[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”

问题:返回的数组第二个元素为什么会是 “”空值呢?

2 个回复

正序浏览
已经解决,相当于split("o",0),最后的空字符串会被丢弃。
split的表现形式为:给定正则表达式匹配的字符串分割开的都被视为子元素,即使为空值。
在代码中就是“o”作为分割,“o”前后的都为子元素。
b||:and:f|| -->  b|""|and:f|""|""  -->  b|""|and:f

点评

谢谢,学习了  发表于 2018-5-19 11:38
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马