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

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

7
Мгновенный формат в строку
Я пытаюсь отформатировать Instant в строку, используя новый Java-API time 8 и шаблон: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); Используя приведенный выше код, я получаю исключение, которое жалуется на неподдерживаемое поле: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) ...

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

5
.Min () и .max () потока Java 8: почему это компилируется?
Примечание: этот вопрос возник из мертвой ссылки, которая была предыдущим вопросом SO, но здесь идет ... Посмотрите этот код ( примечание: я знаю, что этот код не будет «работать» и его Integer::compareследует использовать - я просто извлек его из связанного вопроса ): final ArrayList <Integer> list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList()); System.out.println(list.stream().max(Integer::max).get()); …
215 java  java-8  java-stream 

10
Почему следует использовать Objects.requireNonNull ()?
Я отметил, что многие методы Java 8 в Oracle JDK используют Objects.requireNonNull(), который внутренне выдает, NullPointerExceptionесли данный объект (аргумент) есть null. public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } Но NullPointerExceptionбудет брошен в любом случае, если nullобъект разыменован. Итак, зачем делать …

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

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

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

8
Разница между `Optional.orElse ()` и `Optional.orElseGet ()`
Я пытаюсь понять разницу между Optional&lt;T&gt;.orElse()и Optional&lt;T&gt;.orElseGet()методами. Описание orElse()метода: «Вернуть значение, если оно есть, в противном случае вернуть другое». Описание orElseGet()метода для этого метода: «Вернуть значение, если оно есть, в противном случае вызвать другое и вернуть результат этого вызова». orElseGet()Метод принимает функциональный интерфейс поставщика, который по существу не принимает никаких …
206 java  java-8  optional 

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

2
Почему String.chars () является потоком целых в Java 8?
В Java 8 есть новый метод, String.chars()который возвращает поток ints ( IntStream), который представляет коды символов. Я предполагаю, что многие люди ожидали бы здесь поток chars. Какова была мотивация для разработки API таким образом?
198 java  string  java-8 

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

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

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

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

19
Ограничить поток предикатом
Существует ли потоковая операция Java 8, которая ограничивает (потенциально бесконечный) Streamдо тех пор, пока первый элемент не будет соответствовать предикату? В Java 9 мы можем использовать, takeWhileкак в примере ниже, чтобы напечатать все числа меньше 10. IntStream .iterate(1, n -&gt; n + 1) .takeWhile(n -&gt; n &lt; 10) .forEach(System.out::println); Поскольку …
187 java  java-8  java-stream 

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