gpt4 book ai didi

java - 警告 : [unchecked] unchecked conversion

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:47:21 26 4
gpt4 key购买 nike

我在这里遇到泛型问题。谁能指出我在以下陈述中遗漏了什么?

1.

warning: [unchecked] unchecked conversion

List<Question> qList = (List) session.getAttribute("qList");
^
required: List<Question>
found: List

2.

warning: [unchecked] unchecked conversion

List<ExamSchedule> eList = new <ExamSchedule>ArrayList();

required: List<ExamSchedule>
found: ArrayList

我不想隐藏警告。任何建议将不胜感激。

最佳答案

List<Question> qList = (List) session.getAttribute("qList");
  1. session.getAttribute("qList");将返回 Object 类型的实例.所以你需要明确地转换它。

  2. (List)只是原始类型,List<String>是泛型类型,因此尝试将原始类型转换为泛型类型引用会发出警告。

现在,如果你这样做:

List<Question> qList = (List<Question>) session.getAttribute("qList");

强制转换是运行时检查,但在运行时会进行类型删除,所以 List<String> 之间实际上没有区别。和 List<Foo>等。因此你得到那个错误。所以试试 (List<?> list)此类型转换验证对象是 List而不关心其中包含的类型。

List<ExamSchedule> eList = new <ExamSchedule>ArrayList();

那是语法错误,应该是ArrayList<ExamSchedule> , 不是 <ExamSchedule>ArrayList .

建议:

List<?> qList = (List<?>) session.getAttribute("qList");
List<ExamSchedule> eList = new ArrayList<ExamSchedule>();

关于java - 警告 : [unchecked] unchecked conversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com