【发布时间】:2016-05-15 15:27:54
【问题描述】:
我有一个包含许多值的字符串,我想获取所有的值并将其放入新的字符串变量中。完成后我会把它放到 String[]
在导入库中:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.log4j.Logger;
import com.opensymphony.xwork2.ActionContext;
import oracle.jdbc.OracleCallableStatement;
import oracle.sql.ArrayDescriptor;
import oracle.sql.ARRAY;
import oracle.jdbc.OracleTypes;
import java.sql.*;
这是我的代码:
private List<monitoringPpobModel> lisPpob= new ArrayList<monitoringPpobModel>();
con = dbEngine.getConnection();
OracleCallableStatement css = null;
for(int i=0;i<lisPpob.size(); i++)
{
System.out.println("param 1 = "+lisPpob.get(i).getLBRAP2T());
System.out.println("param 2 = "+lisPpob.get(i).getRPAP2T());
ArrayDescriptor oracleVarchar2Collection = ArrayDescriptor.createDescriptor("OPHARTDE.ARAY",con);
List<String> lis= Arrays.asList(lisPpob.get(i).getLBRAP2T());
List<String> lis2= Arrays.asList(lisPpob.get(i).getRPAP2T());
String ket1 = lis.stream().map(Object::toString).collect(Collectors.joining(","));
String ket2 = lis2.stream().map(Object::toString).collect(Collectors.joining(","));
//manual declare - this work
String aa = "1";
String bb = "3";
String cc = "5";
String dd = "7";
String ee = "8";
String[] lbr = {aa,bb,cc,dd,ee};
// String[] lbr = {ket1};
//auto declare - this not work
String[] rp = {ket2};
ARRAY ora_lbr = new ARRAY (oracleVarchar2Collection, con,lbr);
ARRAY ora_rp = new ARRAY (oracleVarchar2Collection, con,rp);
System.out.println("value 1= "+ lbr.length +" = "+ lbr[i]);
System.out.println("value 2= "+ rp.length +" = "+ rp[i]);
css = (OracleCallableStatement) con.prepareCall("{call OPHARTDE.PPOBUPDATE2(?,?)}");
css.setArray(1, ora_lbr);
css.setArray(2, ora_rp);
css.execute();
}
println 的结果是:
param 1 = 75764674653, 5434, 354, 434, 5435
param 2 = 53, 535, 25, 53, 434
value 1= 5 = 1
value 2= 1 = 53, 535, 25, 53, 434
我想要的是:
String[] rp = {ket2};
就像
中的值String[] lbr = {aa,bb,cc,dd,ee};
感谢您的帮助。这对我来说太难了。请帮忙
【问题讨论】:
-
请提供任何帮助。谢谢
-
我不知道你的问题是什么。准确。
-
获取字符串的每个值并放入字符串[]
-
不要将更多信息放入 cmets。请更新您的问题。
-
您需要提供更多信息。您正在使用不是来自标准 Java 库的东西 - 例如
ARRAY似乎是一堂课。另外,ArrayDescriptor,我怀疑它来自 Oracle 的 JDBC,但你没有在标签中提到你的问题是关于 Oracle 数据库的。而且您正在使用我们不知道其类型的数据(listPob是什么?)。请edit您的问题并加以改进。
标签: java string list oracle11g