Java 无法打印oracle.sql.ARRAY的值
我得到一份学生名单,作为Java 无法打印oracle.sql.ARRAY的值,java,plsql,oracle11g,Java,Plsql,Oracle11g,我得到一份学生名单,作为名单 我稍后将其转换为字符串[] String[] studentIdArray = null; if (list!= null) { // StudentList studentIdArray = list.toArray(new String[list.size()]); // printed studentIdArray and print the values. its fine } 然后声明一个arrayDescriptor,将JavaString[]映射到
名单
我稍后将其转换为字符串[]
String[] studentIdArray = null;
if (list!= null) { // StudentList
studentIdArray = list.toArray(new String[list.size()]); // printed studentIdArray and print the values. its fine
}
然后声明一个arrayDescriptor,将JavaString[]
映射到定义为STUDENT\u ID\u TYPE
ArrayDescriptor arrayDescriptor = ArrayDescriptor.createDescriptor("STUDENT_ID_TYPE", connection);
现在我从中得到了oracle.sql.ARRAY
ARRAY studentArray = new ARRAY(arrayDescriptor, connection, studentIdArray);
我无法找到如何打印studentArray中的值,尽管当我打印studentArray.length()
时,它返回为1
我觉得是对的。但当这个数组被传递到我的PLSQL过程时,我得到了自定义异常
编辑:当我使用dump()时,它只是作为元素[0]转储[B@438620c7要打印studentArray中的值,您可以首先将数据作为基准[],然后将基准值转换为按基准[i]排列的字符串。stringValue()
Datum[] datumArr = studentArray.getOracleArray();
for (Datum datum: datumArr)
{
System.out.println(datum.stringValue());
}