あるパラメータを作成し、どのように私は次の操作を行います:JavaとScalaで変化する関数
を私は、関数のパラメータが多少変化しているパラメータとして関数に関数を渡すことができるようにしたいです。たとえば、これは私がJavaで今すぐにロックされていますものです:
public void doSomethingFancy(Object object, <Some Function Type Here> function) {
function.call(object);
}
public void doFancyThing(Object obj1, String str1, List list1) {
// do stuff
}
public void doFancyThing2(Object obj1, RandomObj rObj, Integer int1) {
// do stuff
}
...
doSomething("hello", this::doFancyThing);
doSomething("hello", this::doFancyThing2);
は基本的に私は、変数の型を持っている入力機能が欲しい:
public void doSomething(Object object, Action1<Object> function) {
function.call(object);
}
public void doOtherThing(Object obj) {
System.out.println(obj);
}
doSomething("hello", this::doOtherThing);
これは私が行うことができるようにしたいものです入力パラメータのActionNはオブジェクト配列を私のdoFancyThing
メソッドに渡し、明らかにコンパイルされないので動作しません。
カスタムインターフェイスを作成します。 – shmosel
メソッドシグネチャをオーバーロードしますか?あなたは特定の入力パラメータセットを持っていますか? – drelliot
質問を更新しました –