Запитання з тегом «java-8»

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

6
Фільтруйте значення лише у випадку, якщо вони є недійсними, використовуючи лямбда в Java8
У мене є перелік об'єктів скажімо car. Я хочу фільтрувати цей список на основі якогось параметра за допомогою Java 8. Але якщо параметр є null, він кидає NullPointerException. Як відфільтрувати нульові значення? Поточний код такий requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); Це кидає, NullPointerExceptionякщо getName()повернеться null.

4
Чи можливо передавати Потік на Java 8?
Чи можливо викинути потік в Java 8? Скажімо, у мене є список об'єктів, я можу зробити щось подібне, щоб відфільтрувати всі додаткові об’єкти: Stream.of(objects).filter(c -> c instanceof Client) Однак після цього, якщо я хочу щось зробити з клієнтами, мені потрібно буде передати кожного з них: Stream.of(objects).filter(c -> c instanceof Client) …
160 java  java-8  java-stream 

5
Як серіалізувати лямбда?
Як можна елегантно серіалізувати лямбда? Наприклад, наведений нижче код містить "a" NotSerializableException. Як я можу це виправити, не створюючи SerializableRunnable"фіктивного" інтерфейсу? public static void main(String[] args) throws Exception { File file = Files.createTempFile("lambda", "ser").toFile(); try (ObjectOutput oo = new ObjectOutputStream(new FileOutputStream(file))) { Runnable r = () -> System.out.println("Can I be …

6
Чи може в лямбі Java більше 1 параметра?
Чи в Java можливо лямбда приймати кілька різних типів? Тобто: Одинична змінна працює: Function <Integer, Integer> adder = i -> i + 1; System.out.println (adder.apply (10)); Вараги також працюють: Function <Integer [], Integer> multiAdder = ints -> { int sum = 0; for (Integer i : ints) { sum += …
157 java  lambda  java-8 

1
Яка різниця між ZonedDateTime та OffsetDateTime?
Я прочитав документацію, але все ще не можу отримати, коли мені слід використовувати те чи інше: OffsetDateTime ZonedDateTime Відповідно до документації OffsetDateTimeслід використовувати при записі дати в базу даних, але я не розумію чому.
155 java  java-8  java-time 


10
Для чого використовуються функціональні інтерфейси в Java 8?
Я натрапив на новий термін у Java 8: "функціональний інтерфейс". Я міг знайти лише одне його використання під час роботи з лямбда-виразами . Java 8 надає деякі вбудовані функціональні інтерфейси, і якщо ми хочемо визначити будь-який функціональний інтерфейс, ми можемо скористатись @FunctionalInterfaceанотацією. Це дозволить нам оголосити лише один метод в …
154 java  lambda  interface  java-8 

26
Зворотний потік потоку Java 8
Загальне питання: Який правильний спосіб повернути потік? Якщо припустити, що ми не знаємо, з якого типу елементів складається цей потік, який загальний спосіб повернути будь-який потік? Конкретне питання: IntStreamнадає метод діапазону для генерації цілих чисел у певному діапазоні IntStream.range(-range, 0), тепер, коли я хочу повернути його діапазон комутації від 0 …

9
Неможливо отримати LocalDateTime від TemporalAccessor під час розбору LocalDateTime (Java 8)
Я просто намагаюся перетворити рядок дати в об’єкт DateTime на Java 8. Після запуску наступних рядків: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDateTime dt = LocalDateTime.parse("20140218", formatter); Я отримую таку помилку: Exception in thread "main" java.time.format.DateTimeParseException: Text '20140218' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2014-02-18 …

14
Поєднання потоків за допомогою JDK8 з лямбда (java.util.stream.Streams.zip)
У JDK 8 з лямбда-b93 був клас java.util.stream.Streams.zip в b93, який можна було використовувати для поштових потоків (це проілюстровано у підручнику « Дослідження Java8 Lambdas». Частина 1 від Dhananjay Nene ). Ця функція: Створюється лінивий і послідовний поєднаний Потік, елементи якого є результатом поєднання елементів двох потоків. Однак у b98 …

2
Як забезпечити порядок обробки в потоках java8?
Я хочу обробити списки всередині XMLоб’єкта java. Я повинен забезпечити обробку всіх елементів для того, щоб я їх отримав. Чи повинен я тому закликати sequentialкожного, хто streamвикористовую? list.stream().sequential().filter().forEach() Або достатньо просто використовувати потік, доки я не використовую паралелізм? list.stream().filter().forEach()
148 java  java-8  java-stream 

10
Чи можете ви розділити потік на два потоки?
У мене є набір даних, представлений потоком Java 8: Stream<T> stream = ...; Я бачу, як відфільтрувати його, щоб отримати випадкову підмножину - наприклад Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); Я також бачу, як я міг би зменшити …
146 java  java-8  java-stream 


4
Розуміння Spliterator, Collector та Stream на Java 8
У мене виникають проблеми з розумінням Streamінтерфейсу Java 8, особливо там, де це стосується Spliteratorта Collectorінтерфейсів. Моя проблема полягає в тому, що я просто не можу зрозуміти Spliteratorі Collectorінтерфейси ще, і як результат, Streamінтерфейс все ще дещо незрозумілий для мене. Що саме таке a Spliteratorі a Collector, і як я …

4
Як вказати типи функцій методів void (не Void) у Java8?
Я граю з Java 8, щоб дізнатися, як функціонують громадяни першого класу. У мене є такий фрагмент: package test; import java.util.*; import java.util.function.*; public class Test { public static void myForEach(List<Integer> list, Function<Integer, Void> myFunction) { list.forEach(functionToBlock(myFunction)); } public static void displayInt(Integer i) { System.out.println(i); } public static void main(String[] …
143 java  java-8 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.