如果我有通用方法
public <T> ArrayList<T> test(){ return new ArrayList<T>(); }
并且在没有显式类型参数的情况下调用他,然后将返回原始类型ArrayList
,因此如果我们调用没有类型参数的泛型方法,我们只调用相应的非泛型方法。这是真的吗?
答案 0 :(得分:0)
不,如果允许在没有显式类型参数的情况下调用该方法,则意味着编译器能够为您推断出适当的类型。这意味着将返回ArrayList<WhateverInferredType>
。
答案 1 :(得分:0)
没有。始终使用类型参数调用此方法,ArrayList
将始终具有类型参数。该参数通过type inference确定。在最基本的情况下(即只调用方法),类型参数将为Object
。