-1

是否可以将通配符用作属性本身而不是类型参数?

public void doSomething(<? extends Context> myObject){


}

我想确保我的对象扩展了 Context 并且还实现了某个接口。

使用通配符作为返回类型是有效的,但使用它作为属性似乎不起作用

public <? extends MyClass> validMethod(){


}
4

2 回答 2

1

是的,有可能,您必须在返回类型之前定义它。

public <T extends MyClass> void myMethod(T param);
于 2014-03-22T16:18:28.533 回答
1

您没有明确说明(对于您的情况)哪个是接口,哪个是类,但是如果您希望将泛型类型绑定到扩展类和接口,这将是它的一般形式。

public <T extends Number & Comparable<T>> T findNumber(List<T> elements) { }

Number是一个抽象类;Comparable 是一个接口。我相信您必须按此顺序指定它们-具体在接口之前。

于 2014-03-22T16:30:18.060 回答