public class StrangeParamMethod {
static void f(ArrayList<String> list){};
public static void main(String... args){
ArrayList<String> list = new ArrayListGenerator().list(); //assigns without problems
f(new ArrayListGenerator().list()); //compile error
}
}
class ArrayListGenerator {
<K> ArrayList<K> list(){
return new ArrayList<K>();
}
}
指摘された文字列でコンパイル エラーが発生する理由を教えてください。文字列で問題は発生しません。そのコンパイルエラーを解決する方法は知っていますが、この特定のケースでなぜそのような違いがあるのか 知りたいです。
PS私はコンパイルエラーが解決することを知っていますf(new ArrayListGenerator().<String>list());