Java中set方法传递一个数组,用get方法怎么获取数组中的内容?

如题所述

第1个回答  2021-11-08
package test2;

import java.util.Arrays;

public class test2_test6 {
int[] i;

void setI(int[] i) {
this.i = i;
}

//两种方法
//第一种,直接打印数组
String getI_value1() {
return Arrays.toString(i);
}

//第二种,循环遍历
String getI_value2() {
StringBuilder s = new StringBuilder();
for (int i_value : i) {
s.append(i_value);
s.append(" ");
}
return s.toString();
}

public static void main(String[] args) {
int[] Array = {1, 2, 3, 4, 5};
test2_test6 t2_t6 = new test2_test6();
t2_t6.setI(Array);
System.out.println("第一种方法获取值:");
System.out.println(t2_t6.getI_value1());
System.out.println("第二种方法获取值:");
System.out.println(t2_t6.getI_value2());
}
}
第2个回答  2021-11-07
这样获取:
int[] a=aa.get();
for(int x:a){
//打印每个x
}
第3个回答  2021-11-07
我的prepare语句中遇到错误java.sql.SQLFeatureNotSupportedException.我正在使用Mysql数据库. 以下是我的代码. cl
第4个回答  2021-11-07
全十美套餐,全家一起用,性价比高,人均最低低至四十元。电信宽带,网络稳定性好,追剧、打游戏不卡机
第5个回答  2021-11-07
我在我的prepare语句中遇到错误java.sql.SQLFeatureNotSupportedException.我正在使用Mysql数据库.

以下是我的代码.

class tmp {
public static void main(String arg[]) {
try {
Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection(

"jdbc:mysql://localhost/sample", "root", "root");

PreparedStatement pst = conn

.prepareStatement("select * from userinfo where firstname in(?)");

String[] Parameter = { "user1", "Administrator" };

Array sqlArray = conn.createArrayOf("VARCHAR", Parameter);

pst.setArray(1, sqlArray);

ResultSet rs = pst.executeQuery();

while (rs.next()) {
System.out.println(rs.getInt(1));

}

} catch (Exception e) {
e.printStackTrace();

}

}

}

解决方法:

对于Mysql –

在Mysql中无法设置数组.

而不是你可以在循环中形成(?,?,..)的查询以及设置值的相同方式.

String[] Parameter = { "user1", "Administrator" };

String query = "select * from userinfo where firstname in (";

String temp = "";

for(i = 0; i < Parameter.length; i++) {
temp += ",?";

}

temp = temp.replaceFirst(",", "");

temp += ")";

query = query + temp;

PreparedStatement pst = conn.prepareStatement(query);

所以查询变成了

select * from userinfo where firstname in (?,?)

并使用循环传递值.

对于甲骨文 –

ArrayDescriptor arrayDescriptor = ArrayDescriptor.createDescriptor("CHAR_ARRAY", conn);

String[] Parameter = { "user1", "Administrator" };

java.sql.Array sqlArray = new oracle.sql.ARRAY(arrayDescriptor, conn, content);

.

.

pstmt.setArray(1, sqlArray);
————————————————
相似回答