从集合/数组/列表创建逗号分隔字符串的最复杂方法?

2023-12-04

在使用数据库期间,我注意到我编写了查询字符串,并且在该字符串中,我必须在列表/数组/集合的 where 子句中添加一些限制。应该看起来像这样:

select * from customer 
where customer.id in (34, 26, ..., 2);

您可以通过将其简化为以下问题来简化这一问题:您拥有字符串集合,并且希望仅在一个字符串中创建该字符串的逗号分隔列表。

到目前为止我使用的方法是这样的:

String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
    if(first) {
        result+=string;
        first=false;
    } else {
        result+=","+string;
    }
}

但正如你所看到的,这非常丑陋。您无法第一眼看到那里发生了什么,特别是当构造的字符串(如每个 SQL 查询)变得复杂时。

你的(更)优雅的方式是什么?


Use the 谷歌番石榴API's join method:

Joiner.on(",").join(collectionOfStrings);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从集合/数组/列表创建逗号分隔字符串的最复杂方法? 的相关文章

  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • Python - 将宽字符字符串从二进制文件转换为 Python unicode 字符串

    这是漫长的一天 我有点困惑 我正在读取一个包含大量宽字符字符串的二进制文件 我想将它们转储为 Python unicode 字符串 为了解压非字符串数据 我使用 struct 模块 但我不知道如何对字符串执行相同的操作 例如 阅读 系列 一
  • 主线程如何在该线程之前运行?

    我有以下代码 public class Derived implements Runnable private int num public synchronized void setA int num try Thread sleep 1
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • 如何获取 WebElement 的父级[重复]

    这个问题在这里已经有答案了 我试过了 private WebElement getParent final WebElement webElement return webElement findElement By xpath 但我得到
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • 基本的多对多sql选择查询

    我认为这应该很容易 但它却在逃避我 我的帐户和帐户组之间存在多对多关系 一个帐户可以位于零个或多个组中 因此我使用标准连接表 Accounts ID BankName AcctNumber Balance AccountGroups ID
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 如何将 Jfreechart(饼图)添加到 netbeans 的面板中

    我正在使用 netbeans gui 编辑器 并且正在尝试添加一个本身位于内部框架中的 Jfreechart 并且这个内部框架我想将其添加到面板中 正如您在此图中看到的那样 抱歉 我无法直接发布图像 因为我新手 http www flick
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • Oracle SQL PLS-00049:错误的绑定变量

    我收到此错误 这似乎是列拼写问题 然而 我 99 确信我拼写的所有内容都是正确的 但我看不出有任何理由会出现我所犯的错误 这是来源 CREATE OR REPLACE TRIGGER update qoh trigger AFTER INS
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • 尝试使用等于“是”或“否”的字符串变量重新启动 do-while 循环

    计算行程距离的非常简单的程序 一周前刚刚开始 我有这个循环用于解决真或假问题 但我希望它适用于简单的 是 或 否 我为此分配的字符串是答案 public class Main public static void main String a
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • JAXB - 列表<可序列化>?

    我使用 xjc 制作了一些课程 public class MyType XmlElementRefs XmlElementRef name MyInnerType type JAXBElement class required false
  • 在哪里存储 Java 的 .properties 文件?

    The Java教程 http download oracle com javase tutorial essential environment properties htmlon using Properties 讨论如何使用 Prop

随机推荐

  • 如何以xamarin形式获取意图活动结果

    我正在尝试使用依赖项服务来启动在我的 xamarin 表单应用程序中启用 BT 的意图 但我发现很难将结果返回到 xamarin 形式 是否有任何机制可以将活动结果通知返回到表单应用程序 在形式上 DependencyService Get
  • RSelenium rsDriver 对等 SSL 证书问题

    我正在尝试学习使用 RSelenium 我只是尝试使用 rsDriver 启动服务器 我只是尝试运行下面的代码并收到以下错误 rD lt rsDriver checking Selenium Server versions BEGIN PR
  • 如何在 Python 中解密 AWS Ruby 客户端加密

    AWS 的 S3 SDK for Ruby 允许对文件进行客户端 信封 加密 它是客户端密钥的 AES CBC ECB 加密组合 其中信封密钥和初始化向量存储在元数据中 我有一位 Ruby 开发人员 他对 S3 存储桶中的各种文件进行了加密
  • 检查给定路径的文件或文件夹是否存在

    我让用户将路径作为字符串传递 A path可能是这样的 C someFolder C someFolder someFile C someFolder someFile jpg 我想检查给定的路径是文件还是文件夹 如果是文件 我想检查它是否
  • python AccessInit:散列冲突:对于 1 和 1 都是 3 是什么意思?

    我有 4 个 python 文件 我从 PHP 运行第一个调用其他文件的 python 文件 但出现此错误 AccessInit hash collision 3 for both 1 and 1 这是什么意思 Here 谈论同一个模块以不
  • junit 条件拆卸

    我想在我的 junit 测试用例中进行有条件的拆卸 例如 Test testmethod1 condition to be tested Teardown teardown method here 在拆解中我想要一个像这样的条件 if pa
  • Python 上麦克风的 Wav 文件

    我的项目是使用麦克风进行说话人识别 我正在使用 speeh recognition 库来提取麦克风音频 但该对象的类是 speech recognition AudioData 我不知道如何将其转换为 wav 文件 例如为了使用 libro
  • 在 PHP 中比较两个 unicode 字符串

    我一直在比较 PHP 中的两个 unicode 字符串 它们都包含特殊字符 一根弦来自 GET 另一个是文件系统的文件夹名称 scandir 两根弦似乎都对我来说是相等的 使得 var dump filter var dump tail k
  • 错误:您的计算机在命令行中缺少 cygintl-2.dll

    我在 Windows 8 电脑上使用命令行 输入 ls 命令后 出现以下错误 ls exe 系统错误 该程序无法启动 因为您的计算机缺少 cygintl 2 dll 尝试重新安装该程序来解决此问题 实际上 我已经用谷歌搜索并观看了一些视频
  • CSS 中的 + 是什么意思? [复制]

    这个问题在这里已经有答案了 什么是 这个CSS规则是什么意思 h2 p font size 1 4em font weight bold color 777 is the 相邻兄弟组合器 这意味着选择器h2 p只选择p那来了之后立马 an
  • 如何使用正则表达式删除美元格式

    我试图从字符串 1 109 889 23 中删除美元格式 我尝试使用正则表达式 d 但后来我得到了逗号 有什么帮助吗 提前致谢 您不需要为此使用正则表达式 只需使用lsParseCurrency numericValue lsParseCu
  • 如何将 IMFSample 发送到 EVR 媒体接收器

    我想独立使用 EVR 但无法向其发送 IMFSample 下面列出了代码 create the video render IMFActivate pActive NULL hr MFCreateVideoRendererActivate m
  • 如何在shell中检查字符串是否包含正则表达式模式中的字符?

    如何检查变量是否包含字符 regex other than 0 9a z and 在纯bash中 我需要有条件检查 如果字符串包含除上述可接受的字符之外的字符exit 1 一种方法是使用grep命令 像这样 grep qv 0 9a z l
  • 用于双向关联的 @ManyToMany/@OneToMany 映射属性

    我正在为实习开发 JPA 合规性套件 该套件的一部分涉及测试极端情况的正确实现 ManyToMany有一个mappedBy属性 JPA 指出 字符串mappedBy 拥有关系的字段或属性 必需的 除非关系是单向的 未给出默认值 默认列为空
  • PHP $_GET 和 .htaccess 重写

    我知道这可能是一个常见问题 并且之前已被问过 但 htaccess 对我来说看起来很陌生 而且我似乎无法通过查看以前的问题来解决这个问题 我有一个用于搜索的索引脚本 语法是 listing field property type query
  • 获取函数的返回类型

    我有以下功能 function test number return 42 我可以通过使用获取函数的类型typeof type t typeof test Here t将 gt number 有没有办法获取函数的返回类型 我想t to be
  • C++ 仿函数作为函数指针

    我有一个函子 我需要将其发送到一个接收函数指针作为参数的函数 例如CreateThread 我可以以某种方式将其转换为静态方法地址吗 如果没有 我该怎么做 不 您不能将类类型对象转换为函数指针 但是 您可以编写一个非成员包装函数来调用正确实
  • 确定 .class 文件中引用的类

    以编程方式 解析已编译的 Java class 文件并生成它引用的任何和所有其他 Java 类的列表的最佳方法是什么 如果你知道的话 自己做很容易the spec 这是一个快速而肮脏的演示程序如何做到这一点 package test imp
  • 在 IIS7 中启用 net.tcp

    我怎样才能让IIS句柄net tcp连接 你需要添加net tcp到您站点启用的协议 转到 IIS 管理器 右键单击您的网站 转到 管理网站 或 管理应用程序 然后转到 高级设置 在那里您会看到 启用的协议 它可能说http 将其更改为ht
  • 从集合/数组/列表创建逗号分隔字符串的最复杂方法?

    在使用数据库期间 我注意到我编写了查询字符串 并且在该字符串中 我必须在列表 数组 集合的 where 子句中添加一些限制 应该看起来像这样 select from customer where customer id in 34 26 2