Вопросы с тегом «java-8»

227
Ошибка генерации клиента WebService с JDK8

Мне нужно использовать веб-сервис в моем проекте. Я использую NetBeans, поэтому я щелкнул правой кнопкой мыши по своему проекту и попытался добавить новый «Клиент веб-службы». В прошлый раз, когда я проверял, это был способ создания клиента веб-службы. Но это привело к AssertionError, говоря:...

219
Как я могу создать Java 8 LocalDate из долгого времени эпохи в миллисекундах?

У меня есть внешний API, который возвращает мне даты как longs, представленные в миллисекундах с начала эпохи. Со старым стилем Java API я бы просто сконструировал Dateиз него Date myDate = new Date(startDateLong) Что эквивалентно в Java 8's LocalDate/ LocalDateTimeclasses? Я заинтересован в...

215
.Min () и .max () потока Java 8: почему это компилируется?

Примечание: этот вопрос возник из мертвой ссылки, которая была предыдущим вопросом SO, но здесь идет ... Посмотрите этот код ( примечание: я знаю, что этот код не будет «работать» и его Integer::compareследует использовать - я просто извлек его из связанного вопроса ): final ArrayList...

210
По какой причине синхронизация не допускается в интерфейсных методах Java 8?

В Java 8 я могу легко написать: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } } Я получу полную семантику синхронизации, которую я могу использовать и в классах. Однако я не могу...

210
Java8: от HashMap <X, Y> до HashMap <X, Z> с использованием Stream / Map-Reduce / Collector

Я знаю, как "преобразовать" простую Java List из Y-> Z, то есть: List<String> x; List<Integer> y = x.stream() .map(s -> Integer.parseInt(s)) .collect(Collectors.toList()); Теперь я хотел бы сделать то же самое с картой, то есть: INPUT: { "key1" -> "41", // "41" and "42" "key2"...

206
Использование Java 8 для преобразования списка объектов в строку, полученную из метода toString ()

В Java 8 появилось много полезных новых вещей. Например, я могу перебирать поток по списку объектов, а затем суммировать значения из определенного поля Objectэкземпляров. Например public class AClass { private int value; public int getValue() { return value; } } Integer sum =...

206
Разница между `Optional.orElse ()` и `Optional.orElseGet ()`

Я пытаюсь понять разницу между Optional<T>.orElse()и Optional<T>.orElseGet()методами. Описание orElse()метода: «Вернуть значение, если оно есть, в противном случае вернуть другое». Описание orElseGet()метода для этого метода: «Вернуть значение, если оно есть, в противном случае вызвать...

199
Java «лямбда-выражения не поддерживаются на этом уровне языка»

Я тестировал некоторые новые функции Java 8 и скопировал пример в мою IDE (изначально Eclipse, затем IntelliJ), как показано здесь Eclipse не предложила никакой поддержки лямбда-выражений, а IntelliJ продолжал сообщать об ошибке Лямбда-выражения не поддерживаются на этом уровне языка Я хотел бы...

197
Java 8 Stream и работа с массивами

Я только что открыл новые возможности потока Java 8. Исходя из Python, мне было интересно, есть ли теперь удобный способ выполнять операции над массивами, такие как суммирование, умножение двух массивов "питонным" способом?...

194
Разница между CompletableFuture, Future и RxJava, наблюдаемой

Я хотел бы знать разницу между CompletableFuture, Futureи Observable RxJava. Я знаю, что все они асинхронные, но Future.get() блокирует поток CompletableFuture дает методы обратного вызова RxJava Observable--- аналогично CompletableFutureс другими преимуществами (не уверен) Например: если клиенту...

188
Java 8 - лучший способ преобразовать список: карта или foreach?

У меня есть список, в myListToParseкотором я хочу отфильтровать элементы и применить метод для каждого элемента, и добавить результат в другой список myFinalList. С Java 8 я заметил, что могу сделать это двумя разными способами. Я хотел бы знать более эффективный путь между ними и понять, почему...

188
Java 8 лямбда Void аргумент

Допустим, у меня есть следующий функциональный интерфейс в Java 8: interface Action<T, U> { U execute(T t); } А в некоторых случаях мне нужно действие без аргументов или возвращаемого типа. Поэтому я пишу что-то вроде этого: Action<Void, Void> a = () -> { System.out.println("Do...

187
Создает ли лямбда-выражение объект в куче при каждом выполнении?

Когда я перебираю коллекцию, используя новый синтаксический сахар Java 8, такой как myStream.forEach(item -> { // do something useful }); Разве это не эквивалентно приведенному ниже фрагменту "старого синтаксиса"? myStream.forEach(new Consumer<Item>() { @Override public void accept(Item...

187
Ограничить поток предикатом

Существует ли потоковая операция Java 8, которая ограничивает (потенциально бесконечный) Streamдо тех пор, пока первый элемент не будет соответствовать предикату? В Java 9 мы можем использовать, takeWhileкак в примере ниже, чтобы напечатать все числа меньше 10. IntStream .iterate(1, n -> n + 1)...

185
Есть ли в Java SE 8 пары или кортежи?

Я играю с ленивыми функциональными операциями в Java SE 8, и я хочу mapиндексировать iпару / кортеж (i, value[i]), затем filterна основе второго value[i]элемента и, наконец, выводить только индексы. Должен ли я все еще страдать так: Что эквивалентно паре C ++ <L, R> в Java? в смелую новую...

181
Какие эквиваленты Java 8 Stream.collect доступны в стандартной библиотеке Kotlin?

В Java 8 есть Stream.collectвозможность объединения по коллекциям. В Kotlin, это не существует таким же образом, за исключением, может быть, как набор функций расширения в stdlib. Но не ясно, каковы эквивалентности для разных вариантов использования. Например, в верхней части JavaDocCollectors...

181
Как использовать лямбду Java8 для сортировки потока в обратном порядке?

Я использую Java-лямбду для сортировки списка. как я могу отсортировать его в обратном порядке? Я видел этот пост , но я хочу использовать Java 8 лямбда. Вот мой код (я использовал * -1) как взломать Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName()))...

178
Добавление BigDecimals с помощью потоков

У меня есть коллекция BigDecimals (в этом примере, а LinkedList), которые я хотел бы добавить вместе. Возможно ли использовать потоки для этого? Я заметил, что у Streamкласса есть несколько методов Stream::mapToInt Stream::mapToDouble Stream::mapToLong У каждого из которых есть удобный sum()метод....