Java中set方法传递一个数组,用get方法怎么获取数组中的内容?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中set方法传递一个数组,用get方法怎么获取数组中的内容?相关的知识,希望对你有一定的参考价值。
参考技术A 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());
参考技术B 这样获取:
int[] a=aa.get();
for(int x:a)
//打印每个x
参考技术C 我的prepare语句中遇到错误java.sql.SQLFeatureNotSupportedException.我正在使用mysql数据库. 以下是我的代码. cl 参考技术D 全十美套餐,全家一起用,性价比高,人均最低低至四十元。电信宽带,网络稳定性好,追剧、打游戏不卡机 第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);
————————————————
set的iterator()方法怎么用?
Set里的元素是不能重复的,那么怎么用iterator()方法来区分重复与否??
Java中的Iterator功能比较简单并且只能单向移动:
使用方法iterator()要求容器返回一个Iterator。
第一次调用Iterator的next()方法时
它返回序列的第一个元素。
使用next()获得序列中的下一个元素。
使用hasNext()检查序列中是否还有元素。
使用remove()将迭代器新返回的元素删除。
这里举一个例子
Collection c = map.values();
Iterator it = c.iterator();
for (; it.hasNext();)
System.out.println(it.next());
参考技术A 既然你用的是Set集合 那么就不存在重复问题了 呵呵
如果是你拿到数据放到set里面 那么就进行一个equels()判断 if()else,就解决了
以上是关于Java中set方法传递一个数组,用get方法怎么获取数组中的内容?的主要内容,如果未能解决你的问题,请参考以下文章