Java如何定义Holder类实现参数的输出
作者:SoftHope
时间:2023-04-28
来源:正软商城
浏览:5
定义Holder类实现参数的输出在很多语言中,函数的参数都有输入(in)、输出(out)和输入输出(inout)之分。在C/C++语言中,可以用对象的引用(&)来实现函数参数的输出(out)和输入输出(inout)。但在Java语言中,虽然没有提供对象引用类似的功能,但是可以通过修改参数的字段值来实现函数参数的输出(out)和输入输出(inout)。这里,我们叫这种输出参数对应的数据结构为Holder(支撑)类。Holder类实现代码:/**长整型支撑类*/@Getter@Setter@ToStringp
本文目录
定义Holder类实现参数的输出
在很多语言中,函数的参数都有输入(in)、输出(out)和输入输出(inout)之分。在C/C++语言中,可以用对象的引用(&)来实现函数参数的输出(out)和输入输出(inout)。但在Java语言中,虽然没有提供对象引用类似的功能,但是可以通过修改参数的字段值来实现函数参数的输出(out)和输入输出(inout)。这里,我们叫这种输出参数对应的数据结构为Holder(支撑)类。
Holder类实现代码:
/** 长整型支撑类 */@Getter@Setter@ToStringpublic class LongHolder { /** 长整型取值 */
private long value; /** 构造函数 */
public LongHolder() {} /** 构造函数 */
public LongHolder(long value) { this.value = value;
}
}Holder类使用案例:
/** 静态常量 *//** 页面数量 */private static final int PAGE_COUNT = 100;/** 最大数量 */private static final int MAX_COUNT = 1000;/** 处理过期订单 */public void handleExpiredOrder() {
LongHolder minIdHolder = new LongHolder(0L); for (int pageIndex = 0; pageIndex < PAGE_COUNT; pageIndex++) { if (!handleExpiredOrder(pageIndex, minIdHolder)) { break;
}
}
}/** 处理过期订单 */private boolean handleExpiredOrder(int pageIndex, LongHolder minIdHolder) { // 获取最小标识
Long minId = minIdHolder.getValue(); // 查询过期订单(按id从小到大排序)
List orderList = orderDAO.queryExpired(minId, MAX_COUNT); if (CollectionUtils.isEmpty(taskTagList)) { return false;
} // 设置最小标识
int orderSize = orderList.size();
minId = orderList.get(orderSize - 1).getId();
minIdHolder.setValue(minId); // 依次处理订单
for (OrderDO order : orderList) {
...
} // 判断还有订单
return orderSize >= PAGE_SIZE;
} 其实,可以实现一个泛型支撑类,适用于更多的数据类型。
作者最新文章
动漫共和国官网入口在哪
2026-11-04 12:06
office安装工具箱 常用功能介绍
2026-11-02 16:29
悟空浏览器怎么彻底清理浏览器配置文件
2026-11-02 10:28
BOBO浏览器安卓手机版下载与横屏设置教程
2026-10-30 17:48
上一篇:
Java继承:概念和用法
热门文章
更多
精品专题
更多
Mac软件
更多
火山引擎 网页版
Windows/ macOS/ Linux
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















