一个方法怎么会有不同数量的参数?

How can a method have different number of arguments?

我正在尝试使用哈希图,其中 key 是人名,StringvalueHashSet 包含他们最喜欢的食物类型:
这是我想出的:

public void addMapEntry(string1, string2, string3)
{  
       favFood = new HashSet<>();
       favFod.add(string1);
       favFod.add(string2);
       favFod.add(string3);
} 

这感觉很笨重,根本不是一个好方法,如果最爱的食物少于 3 种怎么办?还是更多?
更优雅的方法是什么?

在这种情况下,使用 varargs 可能是最好的。

The varargs allows the method to accept zero or multiple arguments.

public void addMapEntry(String key, String... foods)
{      
       ...
       ...
       favFood = new HashSet<>();
       for (String item : foods) {
            favFood.add(item);
       }
       ...
       ...
}

或者,您可以创建一个 ArrayList,将所有字符串添加到其中,然后将其传递给 addMapEntry 方法。