2015-06-02 2 views
1

Я хочу использовать метод в java. его прототип определяется, как показано ниже:Что такое Object ... в аргументах метода и как его использовать?

public void fragmentRequestAction(Fragment fragment, int requestId, Object... objects) 

Я не знаю, что такое Object... как я могу передать такие элементы методу и как их можно использовать?

ответ

0

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. Существует несколько правил, чтобы помнить при построении функции с аргументами переменной длины. Смотрите фрагмент кода -

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 для более подробной информации.

Смежные вопросы