我需要你的帮助和助手将两个arraylists组合成一个新的arraylist来传递给一个程序。用户从类型A列表中选择证书后,它们将存储在:
中private List<String> selectedTypeACertificates = new ArrayList<String>();
一旦用户从类型B中选择了证书,它们将存储在:
中private List<String> selectedTypeBCertificates = new ArrayList<String>();
现在在程序中我只需要传递两个String变量。一个是职员代码,另一个是A类和A类的选定类型。乙
CallableStatement callableStatement =
connection.prepareCall("{call processCertificates(?, ?)}");
callableStatement.setInt(1, Staff_Code);
callableStatement.setString (2, ); //I need to pass selectedTypeBCertificates & selectedTypeACertificates
答案 0 :(得分:0)
您可以将两个列表中的所有元素添加到新创建的元素中,然后使用StringBuilder
构建字符串以将其传递给过程:
List<String> selectedCertificates = new ArrayList<String>();
selectedCertificates.addAll(selectedTypeACertificates);
selectedCertificates.addAll(selectedTypeBCertificates);
StringBuilder sb = new StringBuilder();
for (String cert : selectedCertificates)
{
sb.append(cert);
sb.append("','");
}
String certificatesString = sb.toString();
if(!certificatesString.isEmpty()) {
certificatesString = "'" + certificatesString.substring(0, certificatesString.lastIndexOf(",")) + "'";
}
最后几行是删除尾随的逗号。当然,如果过程需要不同格式的字符串,您可能需要更改此项。