相关疑难解决方法(0)

Java泛型的类型参数中的问号是什么意思?

这是从斯坦福分析器附带的一些示例中获取的一小段代码.我已经用Java开发了大约4年,但是从来没有对这种代码风格应该表明什么有非常强烈的理解.

List<? extends HasWord> wordList = toke.tokenize();
Run Code Online (Sandbox Code Playgroud)

我并不担心代码的细节.令我困惑的是,通用表达式应该用英语表达的是什么.

谁可以给我解释一下这个?

java generics

202
推荐指数
5
解决办法
10万
查看次数

List <?>在java泛型中的含义是什么?

什么List<?>意思,它只是意味着一个未指定类型的对象列表?

谷歌搜索字符串<?>返回没有任何用处(:

java generics bounded-wildcard

42
推荐指数
3
解决办法
4万
查看次数

这三个参数化变量有何不同?

鉴于AGenericClass如下:

public class AGenericClass<T> {
  T subject;
  public void setSubject(T subject) {
    this.subject = subject;
  }
}
Run Code Online (Sandbox Code Playgroud)

变量a,bc之间什么区别?

AGenericClass<String> a = new AGenericClass<>();
AGenericClass<?> b = new AGenericClass<String>();
AGenericClass c = new AGenericClass<String>();

a.setSubject("L"); // OK.

b.setSubject("M"); // Error: setSubject(capture<?>) cannot be
                   // applied to (java.lang.String)

c.setSubject("N"); // Warning: Unchecked call to 'setSubject(T)'
                   // as a member of raw type 'AGenericClass'
Run Code Online (Sandbox Code Playgroud)

a bc all都是在没有IDE控制的情况下声明的,但是在setSubject调用时它们的行为都不同.

java generics

6
推荐指数
1
解决办法
109
查看次数

Java泛型含义<?>

有时候我会看到看起来像的java代码

Class<?>
Run Code Online (Sandbox Code Playgroud)

我不明白它的正确含义.

如果我看到类似的东西:

ComboBox<Order> box = new ComboBox<>();
Run Code Online (Sandbox Code Playgroud)

然后它明确表示该框只能包含类订单中的对象,但是呢<?>?是等于还是完全不同?

java generics

0
推荐指数
1
解决办法
88
查看次数

标签 统计

generics ×4

java ×4

bounded-wildcard ×1