我有这个方法返回List
个用户名,由于某种原因它会抛出indexOutOfBoundException
。
public String [] getUsernames(){
String[] usernames = new String [friendRequests.size()];
int i = 1;
for (FriendRequest friendRequest: this.friendRequests){
usernames[i]= friendRequest.getUsername();
i++;
}
return usernames;
}
注意
拜托,不要因为它而盲目地对这个问题进行投票 已经是。
当我问这个问题(差不多三年前)时,我的英语技能 不是那么好,这就是它的主要原因 被投票了。
我已编辑它以使我的问题更清楚了。
答案 0 :(得分:6)
数组索引从0
并且您从1
开始,因此会导致ArrayIndexOutOfBoundException
答案 1 :(得分:5)
使用它。 数组的索引从零开始。 将有ArrayIndexOutOfBound
public String [] get_usernames(){
String[] usernames = new String [friend_requests.size()];
int i = 0;
for (Friend_request Single_FR: this.friend_requests){
usernames[i]= Single_FR.get_username();
i++;
}
return usernames;
}
答案 2 :(得分:2)
代码将为最后一个元素抛出ArrayIndexOutOfBoundsException
。
更改声明
i = 1
到
i = 0
;
问题应该解决。数组索引从0
开始,而不是从1
开始。