Witam mam za zadanie stworzyc klase optional na wzor zwyklej.
Musze spowodować zeby to zadzialalo
Integer num = null;
String res = Maybe.of(num).map(n -> "Wartość wynosi: "+n)
.orElse("Wartosc niedostepna");
System.out.println(res);
ma mi zwracać "Wartość niedostepna".
implementacje funkcji wygladaja tak:
public Maybe(T x){
data = x;
}
public static <T> Maybe<T> of(T x){
Maybe<T> maybe = new Maybe<>(x);
return maybe;
}
Maybe<T> map(Function<T,T> func){
Maybe<T> newM = null;
if(data != null)
newM = new Maybe<T>(func.apply(data));
return newM;
}
T orElse(T defVal){
if (data != null) {
return defVal;
}else
return data;
}
I
Wiem ze num jest Integerem a w lambdzie przekazuje Stringa.
Jakas wskazówka?
Nie mogę zmieniać maina:)