相关疑难解决方法(0)

什么是原始类型,为什么我们不应该使用它?

问题:

  • 什么是Java中的原始类型,为什么我经常听说不应该在新代码中使用它们?
  • 如果我们不能使用原始类型,它有什么替代方案,它是如何更好的?

java generics raw-types

617
推荐指数
13
解决办法
20万
查看次数

没有类型作为方法参数的通用 - 无法解析它的字段类型

我们来考虑一个课程:

public class Foo<T> {
    public List<String> list = new ArrayList<>();
}
Run Code Online (Sandbox Code Playgroud)

我作为参数传递给方法.


我有一个问题,理解为什么这里的类型String没有解决:

public void test(Foo t) {
    t.list.get(0).contains("test");
}
Run Code Online (Sandbox Code Playgroud)

并且在这里t.list处理的List<Object>一切都很好:

public void test(Foo<?> t) {
    t.list.get(0).contains("test");
}
Run Code Online (Sandbox Code Playgroud)

并且t.listList<String>.


关于类型擦除的其他问题已被链接,从不同角度处理问题.在不知道我自己的问题的答案的情况下,我没有看到连接,这就是为什么我不认为这个问题是重复的.

java generics

13
推荐指数
2
解决办法
1168
查看次数

标签 统计

generics ×2

java ×2

raw-types ×1