比方说,我有一个函数如下:为什么不能在Java中将Collection的实例作为函数参数传递?
private void check(HashSet<String> input)
{
}
函数调用,我试图做的是如下:
check(new HashSet<String>value("test"));
这是Java不允许。 Java中没有这个定义。
现在我知道同样的事情,我可以在C#这样做:
String[] val={"test"};
check(new HashSet<String>(val));
我想知道为什么是这样的。在Java中,我可以以这种方式传递一个Integer。例如
test(new Integer(3));
虽然在C#中对于整数/ Int32是不可能的。
我在想为什么这个设计决定被采取。这种方法有什么好处吗?
我想了解为什么某种语言的特定方面是这样的?请不要指出使用Array的语法错误。 asList()
这个问题更适合http://programmers.stackexchange.com/ – Jeff 2012-02-16 15:03:14
什么是HashSet的值( “测试”)???你测试过,看看它是否有效? –
2012-02-16 15:03:26
@Jeff为什么它更适合,如果可以,我可以迁移它吗? – gizgok 2012-02-16 15:05:26