java - Java For Each 语句中的 Cast 元素

标签 java foreach casting

是否有可能(甚至可取)将从 for each 语句中检索到的元素强制转换为语句本身?我知道列表中的每个元素都是 <SubType> 类型的.

即:

List<BaseType> list = DAO.getList();  
for(<SubType> element : list){ 
    // Cannot convert from element type <BaseType> to <SubType>
    ...
}

而不是:

List <BaseType> list = DAO.getList();
for(<BaseType> el : list){
    <SubType> element = (<SubType>)el;
    ...
}

最佳答案

真的知道每个条目都将是一个子类型吗? DAO 只需完成 List<BaseType>契约(Contract),如果你假设一个子类,那么我认为某处有问题。我可能会更专注于让 DAO 的接口(interface)正确,并让它按契约(Contract)返回你想要的东西。

关于java - Java For Each 语句中的 Cast 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2480316/

相关文章:

java - 二进制分隔距离 (Java)

并行执行的antcontrib foreach不会引发错误

c - 我是否要转换 malloc 的结果?

c++ - 将消息解析为结构

c# - 将 Dictionary<Key, Value> 转换为 IReadOnlyDictionary<Key, IValue>?

Java Swing GUI 控制台组件

java - 单元测试 Spring 集成流 DSL

java - 使用 Java 将命令行结果写入文件

variables - 如何从 for-each 传递值以从 XSL 中的另一个节点集中进行选择?

java - 如何使用 foreach 循环来清理这段冗长的代码?