java - ArrayList 中对象的 Getter

标签 java object arraylist getter

我在 ArrayList 中有一个对象,我想在我的屏幕上打印该对象,但我无法使用这些 getter 来实现。我该怎么做?

public void start() {
            ArrayList rij = new ArrayList();
            rij.add(new Persoon("Foo","Bar",18));
            rij.add(new Persoon("Jane","Doe",52));
            rij.add(new Persoon("John","Doe",23));

            for(int i = 0; i < 3; i++){
                System.out.println((Persoon)rij.get(i).getNaam() + " " + rij.get(i).getVoornaam() + " " + rij.get(i).getLeeftijd());
            }
        }



    private String naam = "";
        private String voornaam = "";
        private int leeftijd = 0;

        public Persoon(String naam, String voornaam, int leeftijd){
            this.naam = naam;
            this.voornaam = voornaam;
            this.leeftijd = leeftijd;
        }

        public String getNaam(){
             return naam;
        }

        public String getVoornaam(){
            return voornaam;
        }

        public int getLeeftijd(){
            return leeftijd;
        }

最佳答案

问题是你对 Persoon 的转换被应用于 rij.get(i).getNaam(),而不是 rij.get(i)

你想要的是:

((Persoon)rij.get(i)).getNaam()

或者更简单地说:

for(int i = 0; i < 3; i++){
    Persoon p = rij.get(i);
    System.out.println(p.getNaam() + " " + p.getVoornaam() + " " + p.getLeeftijd());
}

括号很重要。您确切地知道自己在转换什么以及何时转换。

关于java - ArrayList 中对象的 Getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18275582/

相关文章:

java - 使用 Java Sound 时控制 Clip 的音量 (javax,sound.sampled)

java - 如何使用 Jetty 为 servlet 提供服务而不必担心 War 文件布局?

javascript - new 关键字在幕后做了什么?

c++ - 制作对象的多个版本

java - 当我将扫描仪的输入读入 ArrayList 时,为什么会出现 NullPointerException?

java - 如何在Java中通过id过滤重复的ArrayList - spring boot data jpa

java - Java中获取多个网页最快的方法

java - 如何通过终端将文本文件输入到java程序中(就像在C++中那样)?

javascript - 创建对象数组并在 Javascript 的 while 循环中动态实例化它们

java - 如何在运行时根据用户/程序员的需要自动增加数组的大小?