Как сделать обертку для System.out.println путем передачи ссылки на метод?

В качестве академического интереса хочу сделать обертку для System.out.println, при помощи передачи ссылки на метод println в обертку println_. Подскажите, как реализовать эту обертку?

public class Class1
{
    static void println_(???) {
        ???
    }

    public static void main(String[] args){
        println_(System.out::println, "qwerty");
    }
}

Ответы (1 шт):

Автор решения: Nowhere Man

System.out.println() - это обычный Consumer, и свой метод можно переписать как дженерик:

static <T> void println_(Consumer<T> printer, T obj) {
    printer.accept(obj);
}

println_(System.out::println, "abcd");
// -> abcd
→ Ссылка