首页 > 解决方案 > 在应该返回整数的函数中返回 null

问题描述

该代码标识了数组中最接近 0 的整数,如果有 2 个或更多值满足此条件,则返回值应为 null。问题是,当我使条件返回 null 时,它会显示错误,因为函数应该返回一个整数。

    static int function(int [] arr){
    int closest=arr[0];
    for(int i=1;i<arr.length;i++){
        if(Math.abs(arr[i])<closest){
            arr[i]=closest;
        }
        else if(arr[i]==closest){
            return null;
        }
    }
    return closest;
}

我对 Java 很陌生(以前学过 Python),如果有更好/更有效的方法来处理这段代码,请分享。

标签: javadata-structuresnull

解决方案


如果您需要支持null(例如 Python 的None),那么您应该返回包装器类型Integer

static Integer function(int [] arr) {
    // ...
}

推荐阅读