ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

メソッド参照とジェネリクス

2020-06-10 22:33:15 | PG(Java)

https://twitter.com/RayStark77/status/1270436862142763008
https://twitter.com/mike_neck/status/1270499714111115264

メソッド参照で、そのメソッドの引数違いが定義されている(要するにオーバーロードされている)ときにエラーになるという話があった。
メソッドの引数の個数が違うならちゃんと一意に決まるから大丈夫なはず…と思って試してみたら、Function<String, Integer>のように型引数にクラスが指定されている場合は大丈夫だったけど、<A, B> Function<A, B>のように決まっていない場合は駄目らしい。

どうもメソッド参照の曖昧さ解決の問題というより、ジェネリクスの型推論が上手くいっていない雰囲気だけど。
それとは別に、そもそもFunctionには引数が1つのメソッドしか渡せないんだから、引数が2つの同名メソッドが定義されていても無視してくれていい気がする。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする