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方法怎么获取数组中的内容?的主要内容,如果未能解决你的问题,请参考以下文章

java中,同一个项目中,两个class 内的变量怎么传递?

java类中为啥设置set和get方法操作属性

java实体类里面怎么用快捷方式生成get,set函数

java中关于map值修改问你

set的iterator()方法怎么用?

java的get和set方法