Методы с переменным числом аргументов в Java
Не пойму, почему работает следующий код:
public class Runner {
public static void printArgCount(Object... args) {
System.out.println("Object args: " + args.length);
}
public static void main(String[ ] args) {
printArgCount(5, 7); // вывод Object args: 2
}
}
Мы передаем в метод несколько примитивных значений типа int, но срабатывает метод, который на вход принимает несколько сложных типов. Почему так?
Ответы (1 шт):
Автор решения: dmtr
→ Ссылка
В параметрах метода printArgCount(5, 7) числа 5 и 7 неявно преобразуются в объекты типа Integer, т.к. в Java для примитивных типов данных существуют их классы-обертки. Как мы помним, все классы в Java унаследованы от базового класса Object.