没有参数的通用方法调用

时间:2013-11-12 18:21:38

标签: java

如果我有通用方法

public <T> ArrayList<T> test(){ return new ArrayList<T>(); }

并且在没有显式类型参数的情况下调用他,然后将返回原始类型ArrayList,因此如果我们调用没有类型参数的泛型方法,我们只调用相应的非泛型方法。这是真的吗?

2 个答案:

答案 0 :(得分:0)

不,如果允许在没有显式类型参数的情况下调用该方法,则意味着编译器能够为您推断出适当的类型。这意味着将返回ArrayList<WhateverInferredType>

答案 1 :(得分:0)

没有。始终使用类型参数调用此方法,ArrayList将始终具有类型参数。该参数通过type inference确定。在最基本的情况下(即只调用方法),类型参数将为Object