如何在Java中创建通用数组

时间:2016-03-01 01:37:49

标签: java arrays generics

我在java中有一个关于不可变通用二进制搜索树的学校作业。我已经实现了所有基本的BST函数,但是我们还要求创建一个saveInOrder函数,该函数接受一个类型为Entry的通用数组,该函数应该在函数中修改,以按照其键值的顺序包含所有条目。 / p>

我们有一个实现的接口,在该接口中有一个方法签名

public void saveInOrder(Entry<Key,Value> a[]);

我很困惑为什么[]括号在'a'之后?不应该是

Entry<Key,Value>[] a?

此外,传递给此函数的数组是否已定义大小?我用谷歌搜索通用数组,并意识到它们是一个棘手的话题。任何解释都会非常感谢!对不起,如果它有点含糊不清

1 个答案:

答案 0 :(得分:0)

在Java中,括号可以在变量名之前或之后(两者在语义上等效)。它也可以写成

public void saveInOrder(Entry<Key,Value>[] a);
  

此外,传递给此函数的数组是否已定义大小?

是。 JLS-10.3. Array Creation说(部分)

  

数组的长度以final实例变量length的形式提供。