-4

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

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

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

编辑:对于那些不赞成这个帖子的人,如果你真的阅读了我的帖子,你就会明白我在把它发布到这里之前试图自己解决这个问题。我知道由于考试周和人们寻求简单答案的原因,这里有一种不赞成投票的趋势,但我个人不是。

4

1 回答 1

2

因为 ...

此方法的工作方式就像通过使用给定表达式和零限制参数调用双参数拆分方法一样。因此,尾随的空字符串不包含在结果数组中。

但是,包括前导空字符串。您正在拆分字符串中第一个字符之前匹配的“nothing” ,因此您会得到一个前导的空字符串。

如果你有同样的事情,例如:

String foo = ":a:b:c:";
String[] bar = foo.split(":");

bar[0]将是一个空字符串,并且bar.length将是4

于 2013-05-19T23:03:15.967 回答