【问题标题】:Java: Safely typecast a Clone of an ArrayList?Java:安全地对 ArrayList 的克隆进行类型转换?
【发布时间】:2011-06-20 15:25:33
【问题描述】:

我想通过这段代码克隆我的数组列表:

ArrayList<String> _names;

ArrayList<String> names = (ArrayList<String>) _names.clone();

据我所知,没什么特别的。然而,我的编译器给出了以下警告:

类型安全:从 Object 到 ArrayList 的未经检查的强制转换

有人知道不给我警告的更清洁的解决方案吗?

【问题讨论】:

  • 投射到ArrayList&lt;?&gt; 不会给出这个警告。你需要它是ArrayList&lt;String&gt;吗?你可以在结果元素上调用toString 吗?
  • 对于类似情况,我默认禁用“未选中”:)
  • @finnw:除了字符串之外,我还需要它用于其他类型@bestsss:我更喜欢cadrian的解决方案:)

标签: java casting arraylist clone


【解决方案1】:
names = new ArrayList<String>(_names);

或使用@SuppressWarnings("unchecked")

【讨论】:

    猜你喜欢
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多