6
mogę stworzyć prosty Runnable użyciu lambda, jak:Runnable i lambda
Runnable runnable =()->{
String message = "This is an hard coded string";
System.out.println(message);
};
ograniczenie z powyższym kodzie to, że stworzył Runnable z domyślnego konstruktora (bez argumentów).
W praktyce Runnable często podejmują informacji podczas jej tworzenia, jak następuje:
class MyRunnable implements Runnable {
private final String message;
public MyRunnable(String message) {
this.message = message;
}
@Override
public void run() {
System.out.println(message);
}
}
chciałbym zapytać, jak tworzyć lambda dla Runnable, które mogłyby podjąć argumenty konstruktora.
Czy to ma być 'Runnable'? Możesz użyć 'Consumer'. –
Eran
jaka jest różnica między tymi dwoma fragmentami kodu, robią one to samo, możesz nawet zrobić wiadomość końcową w pierwszym fragmencie kodu: – luk2302
@eran, w moim przypadku użyłbym Runnable w wątku lub Executorze, wygląda na to, że Konsument nie robi ". t działa w moim przypadku. –
Tom