Java 检查枚举值索引

Java 检查枚举值索引,java,enums,Java,Enums,我在检查枚举值的索引时遇到问题,我有一个带有varargs整数的枚举,如果该整数大于1并且是可替换项,那么当我获得下一个索引时,我将其递增1。但是,当增量后没有另一个整数时,游戏崩溃了,在过去半个小时左右的时间里,我一直试图找到一个解决方案,我似乎无法检查它是否是枚举中的最后一个索引。我知道这是一个非常本地化的问题,但我需要一些帮助 守则: private int getNextId(Food food, int id) { if (food.getType().equals(REPLA

我在检查枚举值的索引时遇到问题,我有一个带有varargs整数的枚举,如果该整数大于1并且是可替换项,那么当我获得下一个索引时,我将其递增1。但是,当增量后没有另一个整数时,游戏崩溃了,在过去半个小时左右的时间里,我一直试图找到一个解决方案,我似乎无法检查它是否是枚举中的最后一个索引。我知道这是一个非常本地化的问题,但我需要一些帮助

守则:

private int getNextId(Food food, int id) {
    if (food.getType().equals(REPLACE)) {
        for (int i = 0; i < food.getIds().length; i++) {
            if (food.getIds()[i] == id) {
                return food.getIds()[i + 1];
            }
        }
    }
    return -1;
}

哦,还有一个注意事项,我试着检查它是-1还是0,但就像我说的,我似乎无法理解它。高级版谢谢。

你想做这样的事吗

private int getNextId(Food food, int id) {
    if (food.getType().equals(REPLACE)) {
        int n = food.getIds().length;
        for (int i = 0; i < n; i++) {
            if (food.getIds()[i] == id && (i+1) < n) {
                return food.getIds()[i + 1];
            }
        }
    }
    return -1;
}
private int getNextId(食品,国际id){
if(food.getType().equals(REPLACE)){
int n=food.getIds()长度;
对于(int i=0;i

在上面的方法中,只有下一个Id存在时才会返回,否则将返回-1。

您是否正在尝试这样做

private int getNextId(Food food, int id) {
    if (food.getType().equals(REPLACE)) {
        int n = food.getIds().length;
        for (int i = 0; i < n; i++) {
            if (food.getIds()[i] == id && (i+1) < n) {
                return food.getIds()[i + 1];
            }
        }
    }
    return -1;
}
private int getNextId(食品,国际id){
if(food.getType().equals(REPLACE)){
int n=food.getIds()长度;
对于(int i=0;i

在上面的方法中,只有下一个Id存在时才会返回,否则将返回-1。

如果只有一个Id,您希望从该方法返回什么?有什么问题?什么是崩溃错误?Andrew,对于单个ID,它工作正常。如果下一个索引不包含任何内容,则会发生错误。@user1787084什么错误?提供堆栈跟踪!当我说错误时,没有打印stacktrace;我应该说是故障。如果只有一个id,您希望从该方法返回什么?有什么问题?什么是崩溃错误?Andrew,对于单个ID,它工作正常。如果下一个索引不包含任何内容,则会发生错误。@user1787084什么错误?提供堆栈跟踪!当我说错误时,没有打印stacktrace;我应该说是故障。啊!完美的我没有想到,我只是检查“id”是否为-1,而不是id的实际长度。谢谢啊!!完美的我没有想到,我只是检查“id”是否为-1,而不是id的实际长度。谢谢