ArrayList 中对象的 Getter

1 java getter arraylist object

我在 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;
        }
Run Code Online (Sandbox Code Playgroud)

pam*_*let 5

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

你想要的是:

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

或者更简单地说:

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

括号很重要。您清楚地知道要投射什么以及何时投射。