java - 将 string[] 转换为逗号分隔的字符串。

标签 java parsing long-integer

我有一个字符串数组,我需要将其解析为长变量。

字符串数组包含 ["9", "8"] 等值。 我想将其转换为“(9,8)”(我在 SQL 语句的“IN”子句中使用它)。

实现这一目标的好方法是什么?

这是我的代码:

String[] statusIdArray;
long statsId = Long.parseLong("(");
statsId = Long.parseLong(statusIdArray[0]);
  for(int i=1; i < len; i++) {
    statsId = Long.parseLong(statsId + ",") statsId=Long.parseLong(statsId + statusIdArray[i]);
    statsId = Long.parseLong(statsId + ")");
  }

但是我在输入字符串“(9”处得到了 NumberFormatException

最佳答案

假设问题是:我有一个字符串数组,我想将其转换为 SQL 表示法,以便我可以在 SQL 查询中使用它们:

import java.util.Arrays; // may need to add this import somewhere among your import statements

/**
 * Convert Java String[] to SQL array with varargs syntax.
 * Example method invocations:<blockquote><pre>
 * String sql1 = toSQLArray("1","2","3"); // should return "(1,2,3)"
 * String sql2 = toSQLArray(new String[] { "0", "5" }); // should return "(0,5)"
 * </pre></blockquote>
 * @param array string array.
 * @return String created by concatenating each array element using "," as separator and 
 * adding "(" and ")" as delimiters for the result. 
 */
public String toSQLArray(String... array) {
  StringBuilder sb= new StringBuilder(Arrays.toString(array));
  sb.replace(0,1, "(");
  int l = sb.length();
  sb.replace(l-1, l, ")");
  return sb.toString();
}

关于java - 将 string[] 转换为逗号分隔的字符串。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4665978/

相关文章:

java - 停止 ExecutorService 中的可调用任务

c++ - 获取找到给定选项的 INI 文件行号的跨平台方法

parsing - 自动完成与解析器集成

java - java中打印时 'long'类型的数字改变了它的值

C++ 定义了 long long 但输出有限

java - Apache 速度 : org. apache.velocity.exception.ResourceNotFoundException

java - 我是在创建对象还是变量?

java - 测试时隐藏 selenium webdriver 中的网页

ios - Swift 4 从JSON中获取相关数据

c - long 和 int 通常大小相同的历史背景是什么?