Java str.split(“\\s&”x2B“)未按预期工作

Java str.split(“\\s&”x2B“)未按预期工作,java,arrays,string,Java,Arrays,String,我正在读一行类似于2222155777的内容 拥有: String[]splitDist=line.split(\\s+); for(int i=0;i

我正在读一行类似于2222155777的内容

拥有:

String[]splitDist=line.split(\\s+);
for(int i=0;i
i
永不改变。有什么原因吗?想法

我期待像
[“2222”、“1555”、“777”]

但是它是一个字符串,所以
i
将是0

编辑:不知道为什么会发生这种情况。。。谢谢大家的努力,这里有点不对劲。这一点只是给出了奇怪的行为…

String[]splitDist=line.split(\\s+);
String[] splitDist = line.split("\\s+");
for (int i = 0; i< splitDist.length; i++){
    System.out.println(splitDist[i]);
}
for(int i=0;i
您需要打印数组元素,而不是
i

请尝试此操作

public static void main(String args[]){

 String[] arr = new String[3] ;
 String line = "2222 1555 777";
 String[] splitDist = line.split("\\s+");
 for (int i = 0; i< splitDist.length; i++){
    arr[i] = splitDist[i];
 }
 System.out.println("arr"+Arrays.deepToString(arr));
}

它正在工作。

我明白,但是
I
仍然应该改变吗?因为新数组中有3个值。@TooTiredToDrink使用
String[]splitDist=“a b c”。split(\\s+”)测试它。你应该看到三行。”
i
永不改变”我无法重现你的问题。这会将
0 1 2
打印给我,因此
i
似乎确实发生了变化。确切的输入字符串是什么?与问题中的内容完全相同。显示更多源代码。你发布的剪贴看起来像答案所示。这对我来说很好。你能展示一下你是如何定义输入字符串的吗
public static void main(String args[]){

 String[] arr = new String[3] ;
 String line = "2222 1555 777";
 String[] splitDist = line.split("\\s+");
 for (int i = 0; i< splitDist.length; i++){
    arr[i] = splitDist[i];
 }
 System.out.println("arr"+Arrays.deepToString(arr));
}
arr[2222, 1555, 777]