computeIfAbsentメソッドにパラメータとして関数を渡す方法は?

マユールパティル:

私は、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);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=183172&siteId=1