【发布时间】:2020-07-12 10:51:17
【问题描述】:
所以我有这个列表 l1 的 Deques,存储在 ListArray 中,
字符串存储在双端队列中。
- 当我尝试从一个 Deque 轮询字符串时,我收到了以下错误:
错误:不兼容的类型:对象无法转换为字符串
temp = l1.get(b).pollFirst();
但是l1.get(b).pollFirst().getClass().getName() 返回 java.lang.String
我通过将行更改为temp = (String)l1.get(b).pollFirst(); 解决了这个问题,但不知道为什么以及是否正确。
- 当我尝试使用
l1.get(a).offerLast(temp);将此字符串temp加入到列表中的另一个双端队列时,我得到uses unchecked or unsafe operations.
我应该如何解决这个问题??
代码片段如下:
while (!l1.get(b).isEmpty()){
temp = l1.get(b).pollFirst();
l1.get(a).offerLast(temp);
}
【问题讨论】:
-
您能否编辑问题并显示列表和双端队列是如何声明的?
-
(总是使用人类可读的变量名...。使用这种通用缩写很难阅读)
-
在我看来你没有在声明期间为 Deque 指定类型参数
-
@Liquidpie 谢谢!这正是问题所在!谢谢你的帮助!
标签: java deque unsafe unchecked