我在 Java 中有一个旧代码,它有一个返回番石榴ArrayTable<>的方法。现在,我有一个要求,我想检查将在 arrayTable 中的行数,并且根据数量,我需要决定是否实际获取 ArrayTable。
ArrayTable foo(..args) {}
该方法调用内部 API,我将其结果组合成 ArrayTable。这些内部 API 有它们的行计数实用程序,可以在没有任何开销的情况下获取行计数。
我的问题是解决这个问题的最佳方法是什么?据我所知,可能有两种方法:
单独的实用程序:为该方法创建一个单独的行计数实用程序,除了调用内部 API 的行计数实用程序并返回行计数外,它执行相同的操作。这将导致重复代码。
使用通用返回类型根据额外参数更改返回类型
T foo(..args, boolean fetchRowCount) {
if (fetchRowCount == true) {
return (Integer) rowCount;
}
else {
//do the normal thing
return (ArrayTable<>) output;
}
}
LEATH
蝴蝶不菲
跃然一笑
相关分类