Что означает double… в java

171
10 февраля 2019, 04:40

столкнулся с проблемой в использовании API сторонней библиотеки Timeseries. Для инициализации объекта требуется параметр с типом double... . Пытался гуглить (честно), не нашел информации. Подскажите пожалуйста, что это такое и как туда запихать коллекцию. И если не сложно, что означает from между именем конструктора и аргументами. Заранее благодарю всех ответивших.

Answer 1

Аргумент метода типа double... означает, что таких double-ов может быть сколько угодно, а сам аргумент есть массив, который неявно создаётся во время исполнения. Например:

void doSomething(double... num) {
    System.out.println(Arrays.toString(num));
}

Этот метод можно вызвать так:

doSomething(2.5, 7.8, 1.3, 5.0);

и это будет равносильно вызову так:

doSomething(new double[] {2.5, 7.8, 1.3, 5.0});

Можно даже так:

doSomething();

что равносильно вызову так:

doSomething(new double[0]);

или так:

doSomething(new double[]{});

Такой синтаксис с троеточием можно использовать с любым типом. Но есть одно ограничение - такой аргумент обязан быть последним в списке аргументов метода. Иначе получите ошибку компиляции.

READ ALSO
Как ускорить работу программы на Selenium?

Как ускорить работу программы на Selenium?

У меня написана программа на SeleniumПри ее запуске обрабатывается параллельно 6 сайтов с помощью многопоточности Java

172
Возвращать количество вызовов метода

Возвращать количество вызовов метода

Имеется класс Class, который имеет публичный метод int h(), который возвращает количество вызовов метода h в этом экземпляре (включая происходящий...

171
Что такое плоский код?

Что такое плоский код?

Хорошо писать плоский код или плохо? Есть примеры плоского кода на Java? Может кто-нибудь знает, почему он так называется?

271
что-то с ClassPath в скомпилированном jar-е

что-то с ClassPath в скомпилированном jar-е

имею проект (Spring), который отлично запускается и работает под Eclipc-омВсе файлы находятся

184