运行String.split(“”)的问题

时间:2013-05-19 22:58:13

标签: java string

我有一个Integer,我正在尝试将其转换为String []数组,以便我可以访问它所包含的各个数字。这是我的代码:

    Integer num = 101;
    String[] numArray = num.toString().split("");

为什么System.out.println(numArray.length)返回4而不是3?

编辑:对于那些正在浏览此帖子的人,如果您真的阅读了我的帖子,您会理解我在发布此帖之前尝试自行解决问题。由于考试周和人们寻求简单的答案,我认为这里存在一种趋势,但我个人并非如此。

1 个答案:

答案 0 :(得分:2)

因为......

  

此方法的工作方式就像调用带有给定表达式和limit参数为零的双参数split方法一样。因此,尾随空字符串不包含在结果数组中。

但是,包含前导空字符串。你正在拆分匹配之前字符串中的第一个字符,所以你得到一个前导空字符串。

如果你有,例如:

会发生同样的事情
String foo = ":a:b:c:";
String[] bar = foo.split(":");

bar[0]为空字符串,bar.length4