私はコードに直面しましたが、そのコンパイル結果は私にとって驚きでした。
public class Test3{
public static<K,V> Map<K,V> map(){return new HashMap<K,V>();}
}
class A{
static void f(Map<String,Integer> bcMap){}
public static void main(String[] args){
f(Test3.map()) //not valid
Map<String,Integer> m = Test3.map();//valid
}
}
メソッドに値を渡すと、メソッドの引数が渡された値に代入されることを意味すると常に思っていました。
間違った批准ですか?