当前位置: 首页 > 知识库问答 >
问题:

无法打印出检索到的对象列表数组

蒋胡非
2023-03-14

我无法打印我的数组列表对象。

下面是我的第一个返回arraylist对象的类:

public class user_arraylist {
public ArrayList<String> get_user_det()    {
    final ArrayList<String> temp = new ArrayList<String>(); //declare arraylist
    
    Firebase f_user = new Firebase("https://shareurdaydb.firebaseio.com/User/");
    f_user.addListenerForSingleValueEvent(new ValueEventListener(){
        @Override
        public void onDataChange(DataSnapshot snap_user) {
            // TODO Auto-generated method stub
            Iterable<DataSnapshot> rs = snap_user.getChildren();
            Iterator<DataSnapshot> irs = rs.iterator();
            long allNum2 = snap_user.getChildrenCount();
            int maxNum2 = (int)allNum2;
            int count_user = 1;
            while(irs.hasNext())
            {
                if(count_user <= maxNum2)
                {
                    Firebase user_data = new Firebase("https://myapp.firebaseio.com/"); 
                    AuthData authData = user_data.getAuth();
                    Map<String, Object> nPost = (Map<String, Object>) irs.next().getValue();
                    
                    String db_email = nPost.get("email_addr").toString();
                    //String reply_msg_id = nPost.get("msgid").toString();

                    if (authData != null) {
                        String usr_email = authData.getProviderData().get("email").toString();
                        if(usr_email.equals(db_email))
                        {
                            String disp_name = nPost.get("disp_name").toString();
                            String real_name = nPost.get("real_name").toString();
                            temp.add(disp_name); //add to arraylist
                            temp.add(real_name);
                            
                            for (String str : temp) {
                                            System.out.println("Item is: " + str); //working 
                                        }

                        }
                    } else {
                        System.out.println("Failed");
                    }
                }
                count_user++;
            }                       
        }
        @Override
        public void onCancelled(FirebaseError arg0) {
            // TODO Auto-generated method stub
            
        }
}); 
return(temp); //return array list

 }

}

物品是:约翰

物品是:乔

但当我检索到另一个类时,它不起作用。

下面是我的第二个类来检索数组列表对象并显示它:

                    user_arraylist t = new user_arraylist();
                    ArrayList<String> arr = new ArrayList<String>();
                    arr = t.get_user_det(); //not sure if this is how you retrieve.
                    
                    //Object user_det = get_user_det();
                    for (String temp : arr) {
                        System.out.println("NAME + " + temp); //does not work
                    }

运行这个之后,它会打印出来:什么都没有

如果我像这样打印

System.out.println("NAME"arr.toString());

它给了我名字:[];

有人能解释为什么它不起作用吗(在第二节课中,它没有打印数组列表)?

共有1个答案

黄高爽
2023-03-14

这样做但这将工作时您的user_list返回数据

user_arraylist t = new user_arraylist();
                    ArrayList<String> arr = new ArrayList<String>();
for(int i=0;i<t.size();i++){
                   arr.add(t.get(i))
}

                    //Object user_det = get_user_det();
                    for (String temp : arr) {
                        System.out.println("NAME + " + temp); //does not work
                    }
 类似资料:
  • 问题内容: 我需要能够在数组列表中打印出Student对象(所有变量)。这可能吗?当我尝试打印时,它会输出此类内容。我认为是这样 这是我的代码: 问题答案: 类中的重写方法如下:

  • 我需要能够打印出数组列表中的学生对象(所有变量)。这可能吗?当我尝试打印时,它会输出类似的内容,例如。我想是十六进制之类的 这是我的代码:

  • 我有一个简短的问题 我有飞行、水上课程和动物课程 如果我只想打印出动物对象数组中的飞行物体 做这样的事安全吗 或 执行此操作并重写toString方法 我是java新手,所以我甚至不确定这两个是否正确。所以欢迎任何帮助 谢谢你的帮助 编辑- 对不起,模棱两可的问题这是我问题的一个例子 我可以做输出 = A.toString() 来获取对象字符串还是我必须做 并重写toString方法以打印出类和示

  • 无法打印java中对象类型列表中的不同值。这是我当前的解析器代码,我正在检查重复值。 在下面的代码中,我试图从newList中获取唯一值。 XML-示例 下面是学生pojo类,同样有一个地址pojo类有addrress细节,公司类有学生列表

  • 然后在main方法中,我尝试创建一个列表并打印出其中的元素。 没有语法错误,但当我尝试运行上面的代码时,终端不会返回任何内容。

  • 问题内容: 所以我有一堂课,叫做。 我想打印此类的对象列表,如下所示: 但是它显示了这样的输出: 实际上,我想打印每个对象的值。有什么办法吗? 问题答案: 如果只想为每个对象打印标签,则可以使用循环或列表理解: 但是要回答您的原始问题,您需要定义方法以正确获得列表输出。它可能像这样简单: