java - 在应该返回整数的函数中返回 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),如果有更好/更有效的方法来处理这段代码,请分享。
解决方案
如果您需要支持null
(例如 Python 的None
),那么您应该返回包装器类型Integer
。
static Integer function(int [] arr) {
// ...
}
推荐阅读
- python - tkinter .grid() 几何管理器未输出正确的帧序列
- github - 排除用于在 Github Actions 上创建工件文件的文件
- c - 为什么在下面的代码中将垃圾值分配给已声明的变量?
- powershell - 使用批处理命令增加文本文件中的序列计数
- ms-access - 将存储过程分配给 Microsoft Access 中的 report.recordset
- ios - Objective-C中如何获取JSON格式字符串的真实值?
- java - 我可以使 JavaFx ArcTo 的半径独立于父级的 x 和 y 坐标吗?
- css - VueJS 仅从引导程序导入使用的样式
- python - 如何拆分地址中的数字和字符串
- javascript - window.onbeforeunload 没有在 Firefox 中触发