相关疑难解决方法(0)

什么是PECS(制作人扩展消费者超级)?

我在阅读泛型时遇到了PECS(制片extends人和消费者的super简称).

能否给我一个人解释如何使用佩奇之间解决困惑extends和super?

java generics super pecs bounded-wildcard

680
推荐指数
11
解决办法
9万
查看次数

如何添加到List <?扩展Number>数据结构?

我有一个List,声明如下:

 List<? extends Number> foo3 = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

我试图将3添加到foo3.但是我收到如下错误消息:

The method add(capture#1-of ? extends Number) in the type List<capture#1-of ?
extends Number> is not applicable for the arguments (ExtendsNumber)
Run Code Online (Sandbox Code Playgroud)

java generics

145
推荐指数
2
解决办法
6万
查看次数

Java 6:不支持的@SuppressWarnings("rawtypes")警告

我转移到一台新机器,它有最新的Sun Java编译器,并注意到现有Java 6代码中的一些警告.Eclipse IDE,建议我使用以下命令注释赋值:

@SuppressWarnings("rawtypes")
Run Code Online (Sandbox Code Playgroud)

例如:

class Foo<T> {
...
}
...
@SuppressWarnings("rawtypes")
Foo foo = new Foo();
Run Code Online (Sandbox Code Playgroud)

当我使用较旧的编译器(JDK 1.6.0_20)回到机器时,我注意到这个较旧的编译器现在警告抑制"rawtypes"警告,声称这种抑制不受支持并建议用@SuppressWarnings替换它( "未登记").此外,有些地方默认情况下,最新的编译器让我把"unchecked"和"rawtypes"都放在一起 - 用旧编译器编译代码再现相同的警告.

如何强制两者之间的向后/向前兼容性,以便编译器都不会产生警告?

java compiler-construction warnings raw-types suppress-warnings

41
推荐指数
1
解决办法
4万
查看次数