0

我有一个非常基本的问题。我如何需要为 ArrayList 键入参数才能使用 BlueJ 中的代码?我有一个方法如下。

public void requiresVaccination(int year, ArrayList<Cat>list)

我创建了一些猫对象 cat1、cat2 和 cat3。

我想,我需要为 ArrayList 输入2012year[cat1, cat2, cat3]但显然我错了。谁能告诉我我需要做什么,好吗?

4

3 回答 3

1

要调用该方法,请将年份与新的 ArrayList 对象一起传递。

使用双括号初始化,第二个参数的代码变为:

new ArrayList<Cat>() {{ add(cat1); add(cat2); add(cat3); }};

要调用该方法,请使用:

requiresVaccination(2012, new ArrayList<Cat>() {{ add(cat1); add(cat2); add(cat3); }});

我认为这是最简单的方法。

于 2012-10-14T11:36:21.427 回答
0

你必须给方法一个 Cat 对象的列表,你不能按照你的建议去做。

于 2012-10-14T11:34:44.033 回答
0

我认为可以使用这样的签名

public void requiresVaccination(int year, Cat... list)

因此你可以这样称呼你的方法

 requiresVaccination(2010, cat1, cat2, cat3);

并且在函数内部,列表的行为可能类似于 Cat (Cat[]) 的数组

于 2012-10-14T11:44:57.670 回答