マユールパティル:
私は、Java、JavaへのC#からちょっと遷移に新しいです。java.util.function
以下のように定義されたインタフェース有しFunction
に入力されるcomputeIfAbsent
の方法Map
。
私はにその関数を定義し、委任したかったcomputeIfAbsent
方法。
map.computeIfAbsent(key, k => new SomeObject())
動作しますが、私はどこFUNCコールバックでそれを望んでいました。しかし、問題はあるFunction
定義する入力パラメータが必要です。どのように私はそれを設定することができますvoid
または引数なしで。
map.computeIfAbsent(key, func);
彼らは次のとおりでした:
computeIfAbsent
常に渡された入力パラメータがありますFunction
キーだろう- 。
そのため、ちょうどあなたが書くことができるよう:
map.computeIfAbsent(key, k -> new SomeObject());
あなたも(あなたのキーと仮定すると書き込みが可能Map
ですString
):
Function<String,SomeObject> func = k -> new SomeObject();
map.computeIfAbsent(key, func);