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

Используйте этот тег для вопросов, относящихся к Java 8, которая является версией 8 (внутренний номер 1.8) платформы Java, выпущенной 18 марта 2014 года. В большинстве случаев вам также следует указывать тег java.

9
Класс был скомпилирован более новой версией Java Environment.
При запуске сценария selenium я получаю следующее сообщение об ошибке в консоли Eclipse: Класс был скомпилирован более свежей версией Java Environment (версия файла класса 53.0), эта версия Java Runtime распознает только версии файлов классов до 52.0.0. Версия Java: 8 IDE: Eclipse Oxygen Версия Firefox: 46

3
Почему параллельный поток с лямбдой в статическом инициализаторе вызывает тупик?
Я столкнулся со странной ситуацией, когда использование параллельного потока с лямбдой в статическом инициализаторе, казалось бы, занимает вечность без использования ЦП. Вот код: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Это, по-видимому, минимальный тестовый пример воспроизведения для такого …

3
forEach против forEachOrdered в Java 8 Stream
Я понимаю, что эти методы различаются порядком выполнения, но во всех моих тестах я не могу добиться другого выполнения заказа. Пример: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s->System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s->System.out.println("Output:"+s)); Выход: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Приведите примеры, когда два метода будут давать разные результаты.


7
Пример метода Java 8 Streams FlatMap
Я проверял предстоящее Java update, а именно: Java 8 or JDK 8. Да, я нетерпелив, есть много нового, но есть кое-что, чего я не понимаю, простой код: final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); javadocs public <R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper) Возвращает поток, состоящий из результатов замены …

4
Почему эта лямбда Java 8 не компилируется?
Следующий код Java не компилируется: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error } Компилятор …

6
Лямбда-выражения Java 8 - как насчет нескольких методов во вложенном классе
Я читаю о новых функциях по адресу: http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.html Я видел пример ниже: Использование анонимного класса: button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { System.out.println("Action Detected"); } }); С лямбдой: button.addActionListener(e -> { System.out.println("Action Detected"); }); Что бы кто-то сделал с a, MouseListenerесли бы захотел реализовать несколько методов в анонимном классе, …

3
Особенность вывода типа исключения в Java 8
При написании кода для другого ответа на этом сайте я обнаружил такую ​​особенность: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static <T extends Throwable> void sneakyThrow(Throwable t) throws T { throw (T) t; } static <T …

9
JDK8 - Ошибка «файл класса для javax.interceptor.InterceptorBinding не найден» при попытке создать javadoc с использованием подключаемого модуля Maven javadoc.
Я использую JDK8 (пробовал его на моем рабочем пространстве Eclipse с Win x64 u25 JDK + в Linux, запущенном Jenkins - jdk-8u20-linux-x64, та же проблема для обоих). У меня есть многомодульный проект Maven (я запускаю цель Maven «javadoc: aggregate» из основного модуля с типом упаковки «pom»). Раздел сборки POM выглядит …

5
Почему Stream.allMatch () возвращает true для пустого потока?
У нас с коллегой возникла ошибка, связанная с нашим предположением, что вызов пустого потока allMatch()вернется false. if (myItems.allMatch(i -> i.isValid()) { //do something } Конечно, это отчасти наша вина, если мы предполагаем, а не читаем документацию. Но я не понимаю, почему allMatch()возвращается поведение по умолчанию для пустого потока true. Что …

4
Очень смущает вывод типа компаратора Java 8
Я изучал разницу между Collections.sortи list.sort, особенно в отношении использования Comparatorстатических методов и того, требуются ли типы параметров в лямбда-выражениях. Прежде чем мы начнем, я знаю, что могу использовать ссылки на методы, например, Song::getTitleдля решения моих проблем, но мой запрос здесь - это не столько то, что я хочу исправить, …

11
Использование JavaFX в JRE 8, ошибка «Ограничение доступа»
При попытке использовать классы, связанные с javafx, в моем новом проекте java 8 я получаю сообщение об ошибке ограничения доступа от eclipse. Пока единственное «решение», которое мне удалось найти, - это сказать eclipse, чтобы он игнорировал ограничение доступа, но меня это не устраивает. Пример ошибки: Access restriction: The type Pane …
84 java  eclipse  javafx  java-8 

4
Как сохранить порядок итерации списка при использовании Collections.toMap () в потоке?
Я создаю Mapиз a Listследующим образом: List<String> strings = Arrays.asList("a", "bb", "ccc"); Map<String, Integer> map = strings.stream() .collect(Collectors.toMap(Function.identity(), String::length)); Я хочу сохранить тот же порядок итераций, что и в List. Как я могу создать с LinkedHashMapпомощью Collectors.toMap()методов?

10
Java 8: предпочтительный способ подсчета итераций лямбды?
Я часто сталкиваюсь с одной и той же проблемой. Мне нужно подсчитать прогоны лямбды для использования вне лямбды . Например: myStream.stream().filter(...).forEach(item -> { ... ; runCount++}); System.out.println("The lambda ran " + runCount + "times"); Проблема в том, что runCount должен быть final, поэтому он не может быть int. Это не …

8
Являются ли значения по умолчанию в JDK 8 формой множественного наследования в Java?
Новая функция, входящая в JDK 8, позволяет добавлять к существующему интерфейсу, сохраняя двоичную совместимость. Синтаксис похож на public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } Таким образом, для всех существующих реализаций, SomeInterfaceкогда они обновляются до этой новой версии, они не все внезапно обнаруживают ошибки компиляции newInterface(). Что …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.