- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经搜索了论坛,但仍然无法理解以下差异:
1) void sum(5,5,5,6,7,8,9,3,5,3,2,3,6){}
2) void sum(int[] i){}
3) void sum(int... i){}
如果 3) 可以被视为数组,那么 1) 又如何呢?
最佳答案
void sum(5,5,5,6,7,8,9,3,5,3,2,3,6){}
甚至无法编译,因为它不是有效的方法声明
A method parameter list in parenthesis should be a comma-delimited list of input parameters, preceded by their data types, enclosed by parentheses.
2 和 3 基本上是相同的,除非您调用方法 sum(5,5,5);
,它不会解析为方法 void sum(int[] a ){}
,因为此方法需要 int 数组
作为被调用方法参数,而 void sum(int... a){}
可以正常工作,因为它需要方法调用中可变数量的 int
类型参数。
关于java - Varagrs、数组和参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22343787/
我已经搜索了论坛,但仍然无法理解以下差异: 1) void sum(5,5,5,6,7,8,9,3,5,3,2,3,6){} 2) void sum(int[] i){} 3)
我们最近从 Oracle JDK 8 切换到 OpenJDK 11,我在以下情况下遇到了奇怪的行为: final List foo = Arrays.asList(EasyMock.mock(Inte
当我使用两个不同的可变参数 (Integer...i) 和 (int...i) 运行此代码时,带有 (Integer...i) 的代码输出显示警告消息,而另一个运行正确。但是我无法理解它们之间的区别。
我是一名优秀的程序员,十分优秀!