0

[1]语句末尾是什么意思?

String magnitudeString = details.split(" ")[1];

不能这样写吗:

String [] magnitudeString = details.split(" ");
4

3 回答 3

11

[1]正在索引一个数组:结果String.split()是一个数组,并[1]从该结果中获取第二个元素。

这相当于:

String strs[] = details.split(" ");
String magnitudeString = strs[1];

所以它不能像你的建议那样重写。

显然,如果 的结果split少于 2 个元素,那么其中任何一个都是问题,因此length在访问数组元素之前进行检查是谨慎的,并且立即形式不会允许这样做。

于 2012-08-20T06:33:17.020 回答
2

它只是意味着该split()方法将返回一个数组,并且您将该数组的第二个索引处的内容分配给您的String magnitudeString(请记住,索引在 Java 中从 0 开始)。

于 2012-08-20T06:32:48.313 回答
0

它是由 . 返回的 String[] 数组的索引details.split(" ")

一个建议使用

String [] magnitudeString = details.split(" "); 并迭代。

使用

字符串幅度String = details.split(" ")[1]

可能会给运行时异常array index out of bound

于 2012-08-20T06:43:34.217 回答