bounded-wildcard相关内容

在Java中,如何在泛型类型的实例上调用getClass时避免使用原始类型?

假设我在Java中有这个: List list = new ArrayList(); list.getClass(); 最后一个表达式的类型是 Class< ;?扩展List> 。我明白为什么,由于删除,它不能是 Class 。但为什么它不是 Class ? 我没有办法避免未检查的投射警告和原始类型警告如果我想将此表达 ..
发布时间:2018-04-21 20:21:48 Java开发

Java中的泛型,使用通配符

我对Java中的泛型有一个疑问,即使用通配符。我有一个像这样的类GenClass的例子: public class GenClass { private E var; public void setVar(E x){ var = x; } public E getVar(){ return var; 我有另一个简单的类: ..
发布时间:2018-04-21 19:37:04 Java开发

为什么仅在某些地方允许将子类传递给有界通配符?

以下是来自泛型教程: 说R类扩展S, public void addR(List< ;? extends S> s){ s.add(0,new R()); //编译时错误! } 你应该能够弄清楚为什么上面的代码是不允许的。 s.add()的第二个参数的类型是?扩展S - S的未知子类型。由于我们不知道它是什么类型,我们不知道它是否是R的超类型;它可能或 ..
发布时间:2018-04-21 19:32:29 Java开发

Java未绑定的通配符泛型

在 Bar 类中使用通配符类型的优点是否完全忽略它们? public class Foo {} public interface Bar { public void addFoo(Foo foo); public Foo getFoo(String name); 解决方案 有很多优点。 / p> 它们不会像使用原始类型那 ..
发布时间:2018-04-21 19:27:19 Java开发

为什么三元运算符不像带有有界通配符的泛型?

以下类定义了两种方法,两种方法直观地具有相同的功能。每个函数都有两个 List 超级整数> 和一个布尔值,指定哪些列表应该分配给局部变量。 c> import java.util.List; $ b class示例{ void chooseList1(布尔选择,列表< ;?超级整数>列表1,列表< ;?超级整数>列表2){ 列表< ;?超整型>列表; if(choi ..
发布时间:2018-04-21 19:24:02 Java开发

Java在返回类型中包含通配符

我读过不同的地方,包括这里在方法返回类型中有一个有界的通配符是一个坏主意。但是,我无法找到一种方法来避免我的课程。我错过了什么? 情况看起来像这样: class EnglishReaderOfPublications { private final Publication< ;?扩展英语>出版物; EnglishReaderOfPublications(出版物 ..
发布时间:2018-04-21 19:15:32 Java开发

在返回类型中推断通配符泛型

Java常常可以根据参数推断泛型(甚至在返回类型上,与C#相比)。 案例:我有一个通用类 Pair ,它只存储一对值并可按以下方式使用: Pair pair = Pair.of(“Hello”,“World”); 的方法看起来就像这样: public static对 (T1 ..
发布时间:2018-04-21 19:00:49 Java开发