Java新手: Difference between <> and ()?

标签 java class

我正在学习 Java,有一个关于 <> 和 () 之间区别的问题,例如定义类时?例如:

public class CounterMap<K, V> implements java.io.Serializable {
   private static final long serialVersionUID = 11111;

   MapFactory<V, Double> mf;
   Map<K, Counter<V>> counterMap;

   protected Counter<V> ensureCounter(K key) {
       Counter<V> valueCounter = counterMap.get(key);
       if (valueCounter == null) {
           valueCounter = new Counter<V>(mf);
           counterMap.put(key, valueCounter);
       }
       return valueCounter;
   }
}

任何见解将不胜感激。谢谢。

最佳答案

尖括号< >用于指示泛型类型。例如,包含字符串的列表的类型为 List<String> 。泛型是一个中级主题,如果您是初学者,在不首先了解其他 Java 和编程基础知识的情况下,它可能会有点令人困惑。

括号( )用于调用和声明方法,它们包含方法参数和参数。

您的示例是使用泛型在映射中存储任何类型的数据,而不必具体说明类型是什么。所以如果我想要一个CounterMap存储 Long 的键值对和String类型,我可以像这样声明和初始化它:

CounterMap<Long, String> myCounterMap = new CounterMap<Long, String>();

从 Java 7 开始,您可以使用称为“钻石”的东西并将其简化为:

CounterMap<Long, String> myCounterMap = new CounterMap<>();

关于Java新手: Difference between <> and ()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32534436/

相关文章:

java - 用递归计算自然数的位数

java - 返回基于内部边界的类型

python - object() 有什么用?

C++ 类没有返回我的私有(private)变量的正确值

python - 如何自动将python类中的 "register"方法作为列表类变量?

java - 按下一个键和被按下的键被读取之间的延迟

java - 在 Java 中通过正则表达式从字符串中删除不需要的字符

java - 递归合并 JSON 结构

java - 如何从类中访问字符串

c# - 使用 JSON 架构正确创建 .NET 类