我正在使用早期版本的 java 8 工作代码,我用它从列表中获取唯一值,但是自从我升级到 JDK 66 后,它给了我一个错误
类型不匹配:无法从 List<Object>
转换为 List<String>
List<String> instList = new ArrayList<String>();
while (res.next()) {
instList.add(res.getString("INST").toString());
}
List<String> instListF = instList.stream().distinct().collect(Collectors.toList());
我从数据库中获取的结果集在哪里, 不确定 有什么问题?
原文由 Nomad 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,我最近也遇到过类似的错误
Type mismatch: cannot convert from Set<Object> to Set<String>
。以下是代码片段-:这是供参考的屏幕截图-:
现在让我解释一下为什么会出现此错误?在我的例子中,代码显示编译时错误,因为项目属性中的 编译器版本 不匹配。我选择了 1.7 但它应该是 1.8 因为此功能已添加到 1.8 中。
所以请记下以下几点:
我希望这会对你有所帮助。