Tout en suivant un cours pour Java 8
, nous sommes maintenant sur le sujet de et Lambda expressions
. On nous a demandé de faire la méthode suivante Generic
et non String
seulement:Génériques et BiPredicate avec un type de retour incorrect
public static String betterString(String s1,String s2,IBetterString bs){
if(bs.isBetter(s1, s2)){
return s1;
}else{
return s2;
}
}
Ce que je fait cela est jusqu'à présent les éléments suivants:
public static <T> betterEllement(T s1, T s2, BiPredicate<T, T> bi) {
if (bi.test(s1, s2)) {
return s1;
} else {
return s2;
}
}
Mais il semble que mon Return type
selon Intellij est incorrect. Je ne comprends pas vraiment pourquoi c'est parce que j'ai défini <T>
comme type de retour pour cette méthode. Désolé si c'est une question stupide, je suis juste un débutant et je voudrais comprendre pourquoi ce n'est pas correct. Parce que vous ne renvoyez rien à l'aide de votre méthode.
Votre bienvenue. Garder en tete. T est juste un espace réservé. Il peut s'agir de n'importe quel caractère ou même d'une chaîne mais T est généralement utilisé puisqu'il s'agit d'un ype générique (T). –