#112 Overloaded Method Selection by Reference Type

Companies:
Sberbank
Themes:
JavaOOPCode Review

What will be printed and why?

public class Main {
    public static void main(String[] args) throws Exception {
        A a = new A();
        List<String> list = new ArrayList<>();
        a.f(list);
    }
}

class A {
    void f(Iterable<String> l) {
        System.out.println("A");
    }

    void f(Collection<String> l) {
        System.out.println("B");
    }

    void f(ArrayList<String> l) {
        System.out.println("C");
    }

    void f(LinkedList<String> l) {
        System.out.println("D");
    }
}

Question review

Mentor
Answer as you would in a real interview. I’ll ask follow-up questions, then compare your answer with the reference answer and show your accuracy as a %.
Sign in to start the dialogue The mentor keeps the context of the current question and your previous messages.
Sign in