Java中的泛型声明

时间:2018-09-05 07:53:17

标签: java generics

// main
String[] data = {"a", "b", "c"};
Foo<?, ?> gen = proc(data);
// end main

...

public <T> Foo<T, Integer> proc(T[] a) {
    Foo<T, Integer> retval;

    // some procedure
    retval = new Foo<T, Integer>(result_from_procedure, 1);

    return retval;
}

是否可以将对象声明为Foo<?, ?> or Foo<?, Integer>以使其更通用,以便它可以保存proc(T[] a)不同类型的T中的对象?

1 个答案:

答案 0 :(得分:0)

通配符(*)应与扩展或超界结合使用。对于所有其他情况,应使用确切的类型参数