【问题标题】:Diamond syntax alternative for JDK 1.6JDK 1.6 的菱形语法替代方案
【发布时间】:2018-10-20 08:08:07
【问题描述】:

谁能建议如何重写下面的代码以使其适用于 JDK 1.6?

private Map<SocketChannel, byte[]> dataTracking = new HashMap<>();

【问题讨论】:

  • private Map dataTracking = new HashMap();,也许?
  • 只需删除&lt;&gt;就可以了。
  • 对不起 Kevin Anderson 和 dpr - 你给出的建议很糟糕!你告诉斯蒂芬使用raw types。不要使用原始类型,它们的存在只是为了向后兼容旧的 Java 版本。
  • @Jesper 问题的格式无效,代码为 Map dataTracking = new HashMap&lt;&gt;();
  • @PeterLawrey 是的,但我们不应该教那些刚接触 Java 的人坏习惯。使用原始类型的唯一借口是当您必须使用无法更改的非常旧的代码(Java 5 之前)时。

标签: java generics syntax java-6 diamond-operator


【解决方案1】:

Java 6 不支持菱形运算符。您还必须将通用规范复制到 new 调用中:

private Map<SocketChannel, byte[]> dataTracking = new HashMap<SocketChannel, byte[]>();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-09
    • 2018-01-31
    • 2013-09-15
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    相关资源
    最近更新 更多