私はBiFunctionを使って関数を送信しています。BiFunction <> with Enum
public class Animal {
public static String cat(
final String field,
final Object value
) {
return "(CAT:" + field + toString(value) + ")";
}
public static String dog(
final String field,
final Object value
) {
return "(DOG:" + field + toString(value) + ")";
}
}
public String getAnimal(
final String animalFieldName,
final BiFunction<String, Object, String> function,
final Object animelieldValue
) {
return function.apply(animalFieldName, animalFieldValue);
}
と私はこのようにそれを使用します:
私が今持っていることである私が欲しいのはBiFunction <>が列挙型、 ので、署名のだろうということです
new Animal("catName", Animal::cat, "catti")
getAnimal()は次のようになります。
String getAnimal(
final String animalFieldName,
/* Enum that has values that are BiFunctions, */
final Object animalFieldValue
)
私はコードの例をいただければ幸いです。
非常にエレガント! +1 – OldCurmudgeon