Java 在另一个方法中获取arraylist值

Java 在另一个方法中获取arraylist值,java,arraylist,collections,Java,Arraylist,Collections,这是我第一次在java中使用collection,在这里我需要一些指导来用另一种方法检索组合的arraylist对象 //第一种方法是获取数据 while(rs.next()) { fetchValue=new NewClass(); fetchValue.setCount(rs.getInt(1)); fetchValue.setIp(rs.getString(2)); data.add(fetchValue);

这是我第一次在java中使用collection,在这里我需要一些指导来用另一种方法检索组合的arraylist对象

//第一种方法是获取数据

while(rs.next())
    {         
     fetchValue=new NewClass();

     fetchValue.setCount(rs.getInt(1));
     fetchValue.setIp(rs.getString(2));


     data.add(fetchValue);

    }
return data;
//第二种方法是获取2data

while(rs.next())
    {         
     fetchValue1=new NewClass();

     fetchValue1.setCount(rs.getInt(1));
     fetchValue1.setIp(rs.getString(2));


     data1.add(fetchValue1);
    //System.out.println(data1);
    }
return data1;
//第三种方法打印值

Query_One printValue=new Query_One();
   printValue.get2Data();
   printValue.getData();
   List arr=new ArrayList();
   arr.add(data);
   arr.add(data1);
//i was trying following method but it doesn't working.. 
 //for(int i=0;i<arr.size();i++)
  //{
      //System.out.println(arr.get(i).getCount());
  //}
这里如何获取计数和Ip值?和我写的代码正确吗?
请帮帮我。

Java中的集合获得一个所谓的泛型,以确定您可以对集合中的对象调用哪些方法。在您的例子中,您将标准类作为泛型对象,它将是除基本数据类型之外的所有类都从该类扩展而来的对象,因此您只能调用标准方法,例如toString或equals。您应该将列表的泛型设置为NewClass,如下所示:

List<NewClass> myList = new ArrayList();//After Java 1.7 with Diamond interface (no brackets at the construction)
List<NewClass> myList = new ArrayList<NewClass>();//Pre Java 1.7 without Diamond interface
for(NewClass arrObject : arr){
    System.out.println(arrObject.getCount());
}

在代码中,您试图访问arr.geti上的getCount方法,但该arr.geti基本上返回了一个对象。因此,您必须按如下方式将其转换为NewClass

for(int i=0;i<arr.size();i++)
{
    System.out.println(((NewClass)arr.get(i)).getCount());
}

然后您可以访问它的getCount方法,因为它现在将在NewClass而不是Object上调用。

如果您要在另一个列表中添加列表,您应该使用addAll。 添加是在列表对象中添加单个对象

更改以下代码

arr.add(data);
arr.add(data1);


所有三个方法都放在同一个类中哦,很抱歉,第二行的第一个括号中也必须是NewClass。我会编辑我的答案…但是是的,我只有两行,因为它在java版本1.7中发生了更改,我不知道您使用的是哪个版本。只需使用其中一行初始化列表,就可以在listobjects上调用类的方法
arr.addAll(data);
arr.addAll(data1);