回答
{3,4,5}
的类型不明确(可能是int[]
,short[]
,等)。请尝试:
draw(new int[]{3,4,5});
因为{3,4,5}
不是数组。 (如果是的话,那么的数组是什么?)
{3,4,5}
并不反映是什么类型。你应该这样调用draw(new int[]{3,4,5});
因为Java是不是matlab的!您必须先创建/注册一个数组,然后才能通过!
您也必须在Matlab中创建数组; Matlab只是具有更简洁的语法。 – 2012-02-10 08:20:24
你可以传递这样:draw(new int[]{3,4,5})
。
需要称其为draw(new int[]{3,4,5})
{3,4,5}是一个数组初始化方法,而前述new int[]
这没有任何意义。您可以查看{3,4,5}作为参数传递给一个名为int[]
函数返回你一个新的数组。
数组通过引用传递。通过按引用意味着当一个阵列被作为参数传递,它的存储器地址位置实际传递,被称为其“参考”。
- {3,4,5}并未反映您要使用哪种类型。
- 如果你想通过数组,你应该这样调用平局(新INT [] {3,4,5});所以方法可以知道你要使用数组。
看到其他ansers,为什么像你尝试,你不能做到这一点。
但是你可以做这样的事情:
draw(int... a)
{
//...
}
draw(3,4,5);
是的,这也是我的首选方式,因为你仍然可以通过“正常”的阵营。 – Axel 2012-02-10 07:29:11
我想给这里的一些其他的答案回应。这是一种语言设计选择,不支持数组创建的语法。但可能不是因为这个构造总是含糊不清。只是说{3,4,5}
是“模棱两可”或“不反映类型”是一个过于简单化。
使用数组初始值表达式作为数组创建的简写可能存在模糊性,但它不是来自简单的例子,如{3,4,5}
。您可以使用类型提升规则来定义一个规则,以便明确确定像{x,y,z}
这样的数组初始值设定项的类型,就像使用类型提升规则确定算术表达式的类型(如x+y+z
)一样。那么{3,4,5}
在int[]
或short[]
在这个假设的情况下?这将是int[]
,因为3
,4
和5
是整数。
即使没有接口的对象,也可以说{x,y,z,...}
的类型是所有数组元素表达式可指定的最具体的通用超类。最低的共同点,如果你愿意。
但是通过接口,你实际上有多重继承,所以你可能有多个超类型,数组中的所有元素都可以指定给它们,但这两个超类型都不能相互赋值,所以你有一个真正的不明确性。
而零元素的情况下,{}
,现在这是不明确的。
语言设计者可能提供了一个规则说“对自己的数组初始化表达式像new T[]{...}
用于初始化的类型处理”。即使使用接口,他们也可以提供它并加上“......在类型明确的情况下,否则就是编译错误”。但他们没有。也许是因为他们不想让模糊不清。也许是因为类型确定规则对编译器或开发人员而言会变得复杂。也许是因为他们不想在堆上分配一堆小阵列。但不是因为{3,4,5}
根本无法解释。
- 1. 为什么我不能在foreach中使用这样的添加?
- 2. CSS中的浮动元素。为什么我不能这样做?
- 3. 为什么我不能这样做我的参数?
- 4. 为什么我不能通过1添加这个int?
- 5. 为什么我不能打印我的2D阵列?
- 6. VB.NET:为什么不能这样工作?
- 7. java的,“这样做,如果通过,那么这样做”
- 8. 为什么我不能专注于这样的锚点?
- 9. 为什么我不能在这样的QMap上调用插入?
- 10. 为什么我不能让$ .whatever()这样的jQuery调用?
- 11. 为什么我不能在Java中像这样构造字符串数组?
- 12. 为什么不这样做的代码什么我希望
- 13. 为什么我不能通过我的参数python
- 14. 为什么我不能在Java中
- 15. 为什么我的测试不通过?
- 16. 为什么我的验证不通过
- 17. 为什么我的TreeView这个样子?
- 18. 为什么我不能在Java中调用这个函数?
- 19. 为什么我不能在Java中下载这个对象?
- 20. 为什么我的columnfilter不能过滤?
- 21. 这个测试为什么不通过?
- 22. 什么是不这样的列:REFERRED.number?
- 23. 为什么我不能通过executeQuery obj中的整数访问列数据?
- 24. 为什么我不能用WHERE子句过滤我的行列
- 25. 为什么不能像这样访问链表中的指针?
- 26. 在C中,阵列这样的复制是不可能的。为什么?和最好的黑客
- 27. 我不明白为什么我的阵列产生输出我不能使用
- 28. 为什么我不能通过它的指针访问这个结构体?
- 29. Java枚举,静态类变量 - 为什么我不能这样做?
- 30. 为什么我不能像这样在MySql上使用--position?
这里是参考:http://stackoverflow.com/questions/1610757/pass-array-to-method-java,可以帮助你http://www.jforeach.com/difference-between-object-and- reference-in-java/62 – 2012-02-10 05:36:13