java - 在方法中返回多个类型的最符合 Java 的方法是什么?
问题描述
假设我有一个 Java 方法,我需要根据条件返回不同的类型。为简单起见,我将提供一个非常虚拟的示例:
public (something goes here) processSomething() {
if (condition1) {
return true;
} else if (condition2) {
return 5;
} else {
return new ComplexObject();
}
}
如您所见,我没有定义返回类型以避免对解决方案的假设。我知道有诸如泛型类型之类的选项,Any
并且Object
(我可能误解了其中一些可能不适用于我的用例的选项)。
其目的是使用上述方法的返回值来调用具有使用 Java 反射 API (invoke) 的预定义参数(例如 和 )的其他int
方法boolean
。String
我想知道 Java 专家最推荐的是什么。
解决方案
创建一个“结果持有者”类。像这样的东西:
class OperationResult {
boolean flag;
ComplexObject info;
}
此外,在技术上可以对各种结果使用(检查)异常,但这种模式不太可能是一个好的选择。
推荐阅读
- java - NoSuchMethodError:javax.ws.rs.core.MultivaluedMap.addAll
- powershell - 在 powershell 中导入 Posh-ssh moudle 不会导入所有 cmdlet
- java - 从地图中的元素获取总值
- html - 如何使描述文本在图像旁边排成一行,在 h1 下方
- mysql - 在 MySQL 中将 BigInt 转换为时间戳
- sql - 在 JOIN ON 子句中引用列别名
- forms - 是否可以同时使用 xamarin 媒体管理器播放两个 mp3 文件
- github - 如何验证推送的提交?
- assembly - 为什么在 64 位模式下使用“DS:”段覆盖是非法的?
- visual-studio-2017 - VS2017:哪个函数导致断点超时?