Как сделать обертку для 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