java : I am getting only one element while parsing the values

标签 java

当这个程序运行时,我只得到一个名字,而不是两个 即输出仅是 Pavan

import java.util.ArrayList;
import java.util.List;

public class Work {

    public static void main(String args[]) {

        User user1 = new User();
        User user2 = new User();

        user1.setName("Pavan");
        user2.setName("Palla");

        List userItems = new ArrayList();
        userItems.add(user1);
        userItems.add(user2);

        UserlistItem[] userlistitem = new UserlistItem[userItems.size()];

        for (int i = 0; i < userItems.size(); i++) {

            User user = (User) userItems.get(i);

            userlistitem[i] = new UserlistItem();

            userlistitem[i].setUser(user);

        }

        Userlist userlistm = new Userlist();
        userlistm.setUserlistItem(userlistitem);

        UserlistItem[] ravi = userlistm.getUserlistItem();

        Userlists lists = new Userlists();

        lists.setUserlist(new Userlist[] { userlistm });

        Userlist[] main = lists.getUserlist();

        for (int i = 0; i < main.length; i++) {
            System.out.println("Pavan"
                    + main[i].getUserlistItem()[i].getUser().getName());
        }


}

public class User {

     private String      name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}


public class UserlistItem {
    private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    } 


}



import java.io.Serializable;

public class Userlist {

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public UserlistItem[] getUserlistItem() {
        return UserlistItem;
    }

    public void setUserlistItem(UserlistItem[] userlistItem) {
        UserlistItem = userlistItem;
    }

    private String id;
    private UserlistItem[] UserlistItem;

}



public class Userlists {

    private Userlist[] userlist;

    public Userlist[] getUserlist() {
        return userlist;
    }

    public void setUserlist(Userlist[] userlist) {
        this.userlist = userlist;
    }

}

最佳答案

首先,为什么不在打印发生的行上放置一个断点来调试代码呢?在 main 方法的第二个 for 循环中,main.length 为 1。将循环更改为下面的代码,就可以完成。但是您的代码很困惑,我不确定您将如何跟踪定义的类的更多对象。

for (int i = 0; i < main[0].getUserlistItem().length; i++) {
    System.out.println("Pavan"
            + main[0].getUserlistItem()[i].getUser().getName());
}

关于java : I am getting only one element while parsing the values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9565774/

相关文章:

java - 将证书添加到 CMS 签名数据

java - 读入特定目录中的所有文件在java中以html列表显示文件名

java - OpenAPI/Swagger-UI注释和@BeanParam

java - 2 个数字的范围之和是多少?

java - 如何在 Java 中高效地构建应用程序网络

java - 字符串条件检查

java - Google Drive api 保存到文件

java - JDBC 返回生成的键或现有的键

Java 如果一个数字是-0

java - 使用java 8按类型列表: JAVA的对象属性对对象列表进行分组