从List创建数组时的IndexOutOfBoundException

Ani*_*oin -6 java

我有这个方法返回一个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;
}
Run Code Online (Sandbox Code Playgroud)

注意

请不要只是盲目地对这个问题进行投票,因为它已经存在了.

当我问这个问题时(差不多三年前),我的英语技能并不是那么好,这就是为什么它被拒绝投票的主要原因.

我编辑它以使我的问题更加清晰.

Jig*_*shi 6

数组索引从 0

而你开始1,所以它会导致ArrayIndexOutOfBoundException


Pra*_*shy 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;
}
Run Code Online (Sandbox Code Playgroud)