ArrayIndexOutOfBoundsException for a array for a array 我没有声明其大小。我该怎么办?


String[] splittedData = data.split("\s+");

answerString = data + " :";
answerString = answerString +
wordChecker.imperfectPalindrome(splittedData[0]);
answerString = answerString + 
wordChecker.imperfectPalindrome(splittedData[1]);
answerString = answerString +
wordChecker.superAnagrams(splittedData[0], splittedData[1]);

对于splittedData[1],IDE抛出一个ArrayIndexOutOfBoundsException。这是因为数组声明中的错误还是其他原因?

您的splittedData数组将使用所需的确切长度来存储.split的结果。如果输入的data不包含任何空格,则splittedData的长度为1。如果输入的data为空,则其长度为0。

因此,如果在那之后您尝试访问splittedData[1],那么索引将确实超出的范围

澄清

在Java中,数组索引是从0(包括0(到数组长度(不包括(的

最新更新