/**
* Testing Arrays
* @author N002213F
* @version 1.0
*/
public class JavaArrays {
public void processNames(String[] arg) {
//-- patented method, stop, do not read ;)
}
public void test() {
// works fine
String[] names1 = new String[] { "Jane", "John" };
processNames(names1);
// works fine, nothing here
String[] names2 = { "Jane", "John" };
processNames(names2);
// works again, please procced
processNames(new String[] { "Jane", "John" });
// fails, why, are there any reasons?
processNames({ "Jane", "John" });
// fails, but i thought Java 5 [vargs][1] handles this
processNames("Jane", "John");
}
}
Q
使用Java阵列
1
A
回答
9
processNames({ "Jane", "John" });
这失败了,为什么,还有什么原因?
您没有指定类型。 Java在这里不会进行类型推断;它希望你指定这是一个字符串数组。到this question的答案可以帮助这也
processNames("Jane", "John");
这也失败,但我认为Java 5个的可变参数处理这个
如果你想可变参数,那么你应该写你的方法,例如:
public void processNames(String... arg)
注意...
而不是[]
。只接受一个数组并不能让你在该方法上使用可变参数。
1
在最后一行:processNames(String ...args);
必须写入像这样的可变参数才能工作。
0
第三次调用是不正确的,因为你不能像这样创建一个数组,你像在第二次调用时那样做。如果您希望最终通话成功,您必须将processNames声明为可变参数接收器(see here)
相关问题
- 1. 使用Java创建阵列阵列
- 2. java阵列的使用
- 3. java阵列,阵列列表,hashmaps和使用它们
- 4. 使用阵列解决Java任务
- 5. 使用java的多态性阵列
- 6. java的阵列
- 7. 简化Java阵列和阵列列表
- 8. Java阵列移位引用
- 9. 使用阵列
- 10. 使用阵列
- 11. 使用阵列
- 12. 的Java:解析阵列正负阵列
- 13. JAVA阵列的字节阵列
- 14. 阵列使用阵列排序
- 15. 使用阵列从另一个阵列
- 16. 使用1d阵列打印2d阵列
- 17. Java铸造阵列
- 18. 阵列中的Java
- 19. 阵列中的JAVA
- 20. 的Java:从阵列
- 21. 阵列中的Java
- 22. Java - 旋转阵列
- 23. Java阵列交换
- 24. Java 2d阵列在列
- 25. Java阵列列表获得
- 26. 阵列使用JSON
- 27. CV ::使用阵列
- 28. 在java中使用递归反转整数列表阵列
- 29. 的Java使用For循环,同时处理阵列,使模式
- 30. 适用于阵列中的Java的