我想使用java中的方法。它的原型(prototype)定义如下:
public void fragmentRequestAction(Fragment fragment, int requestId, Object... objects)
我不知道什么是Object...
我如何将这些项目传递给该方法以及如何使用它们?
最佳答案
Object...
采用任何非原始类型和任意数量。在Java
中,它被称为可变长度参数。
这意味着您可以像这样调用 fragmentRequestAction()
方法 -
fragmentRequestAction(fragment, 345); //no object here
fragmentRequestAction(fragment, 345, someObj);
fragmentRequestAction(fragment, 345, someObj1, someObj2);
fragmentRequestAction(fragment, 345, someObj1, someObj2, someObj3);
从 java 5 引入了可变长度参数。使用可变长度参数构造函数时需要记住一些规则。请参阅代码 fragment -
public void meth ( int... a) // valid
public void meth (double a, int... b) // valid
public void meth ( int... a, int b) // invalid- Ellipsis may be used towards the end only
public void meth ( int... a, double... b) // invalid - More than one variable length parameter list may not be used
public void meth ( Student... a) // valid - Reference types are also allowed
public void meth( int[]... a) // valid - reference types are also allowed
访问link了解更多详情。
关于java - 方法参数中的 Object... 是什么以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30603738/