Referenz auf eine Instanzmethode eines bestimmten Objekts

Im folgenden Code funktioniert es, wenn die Methodenreferenzvariable mit dem Klassennamen übergeben wird, aber wenn die Referenzvariable mit einem Benutzerobjekt übergeben wird, liegt ein Fehler vor.

public class User {
    private String name;

    public User(String name) {
        this.name = name;
    }

    public void printName() {
        System.out.println(name);
    }    
}


public class Main {
    public static void main(String[] args) {
        User u1 = new User("AAA");
        User u2 = new User("BBB");
        User u3 = new User("ZZZ");

        List<User> userList = Arrays.asList(u1, u2, u3);        

        userList.forEach(User::printName); // works
        userList.forEach(u1::printName); // compile error
    }
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage