为什么这个出界?

时间:2015-09-20 02:44:16

标签: java

我的手数组大小是5.我不知道为什么它给了我一个越界数组错误。有什么想法吗?

public void sortHandCard()
    {
        for(int i = 0; i <= hand.length; i++)
        {
            for(int j = i + 1; j <= hand.length; j++)
            {
                if(hand[i].getNumber() > hand[j].getNumber())
                {
                    Card c = hand[i];
                    hand[i] = hand[j];
                    hand[j] = c;
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:3)

protected HashMap<Class<? extends MyBaseClass>, int> someTable = new HashMap<>(); 更改为<=。最后一个索引比数组的长度少一个,因为索引从0开始。