You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java 8 Streams遍历列表生成SQL查询占位符且不使用列表值

Java 8 Stream 实现参数占位符拼接方案

你可以直接基于列表长度生成对应数量的占位符,无需访问列表元素内容,实现代码如下:

import java.util.stream.Collectors;
import java.util.stream.Stream;

// 业务逻辑部分
String spQuery = Stream.generate(() -> "?")
    .limit(list.size())
    .collect(Collectors.joining(","));

实现说明

  • 调用Stream.generate()生成无限序列的?字符串,通过limit()方法限制序列长度和列表长度保持一致
  • 最终用Collectors.joining(",")完成拼接,自动用逗号分隔所有占位符,不会像原有for循环实现一样在字符串末尾生成多余的逗号,无需额外做截断处理
  • 全程只用到了列表的size()属性,不会读取、使用列表内的元素值,完全符合需求

内容的提问来源于stack exchange,提问作者Nitin Rathod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:54:03