这个[]语法是什么意思?

时间:2012-08-20 06:31:45

标签: java

声明末尾的[1]是什么意思?

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

不能这样写:

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

3 个答案:

答案 0 :(得分:11)

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

这相当于:

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

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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

一个建议使用

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

使用

  

String magnitudeString = details.split(“”)[1]

可能会导致array index out of bound

的运行时异常