Pytania otagowane jako java-8

Tego znacznika należy używać w przypadku pytań specyficznych dla języka Java 8, który jest wersją 8 (numer wewnętrzny 1.8) platformy Java, wydanej 18 marca 2014 r. W większości przypadków należy również podać znacznik java.

6
Filtruj wartości tylko wtedy, gdy nie mają wartości null, używając lambda w Java8
Mam do powiedzenia listę obiektów car. Chcę przefiltrować tę listę na podstawie jakiegoś parametru przy użyciu języka Java 8. Ale jeśli parametr jest null, wyrzuca NullPointerException. Jak odfiltrować wartości null? Obecny kod jest następujący requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); To rzuca się, NullPointerExceptionjeśli getName()wróci null.

4
Czy można przesłać strumień w Javie 8?
Czy można przesyłać strumień w Javie 8? Powiedzmy, że mam listę obiektów, mogę zrobić coś takiego, aby odfiltrować wszystkie dodatkowe obiekty: Stream.of(objects).filter(c -> c instanceof Client) Po tym jednak, jeśli chcę coś zrobić z klientami, musiałbym obsadzić każdego z nich: Stream.of(objects).filter(c -> c instanceof Client) .map(c -> ((Client) c).getID()).forEach(System.out::println); To …
160 java  java-8  java-stream 

5
Jak serializować lambdę?
Jak mogę elegancko serializować lambdę? Na przykład poniższy kod generuje plik NotSerializableException. Jak mogę to naprawić bez tworzenia SerializableRunnable„fikcyjnego” interfejsu? 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 serialized?"); …

6
Czy java lambda może mieć więcej niż 1 parametr?
Czy w Javie możliwe jest, aby lambda akceptowała wiele różnych typów? To znaczy: pojedyncza zmienna działa: Function <Integer, Integer> adder = i -> i + 1; System.out.println (adder.apply (10)); Varargs również działa: Function <Integer [], Integer> multiAdder = ints -> { int sum = 0; for (Integer i : ints) …
157 java  lambda  java-8 



10
Do czego służą interfejsy funkcjonalne w Javie 8?
W Javie 8 natknąłem się na nowy termin: „interfejs funkcjonalny”. Podczas pracy z wyrażeniami lambda mogłem znaleźć tylko jedno jego użycie . Java 8 zapewnia wbudowane interfejsy funkcjonalne i jeśli chcemy zdefiniować dowolny interfejs funkcjonalny, możemy skorzystać z @FunctionalInterfaceadnotacji. Pozwoli nam to zadeklarować tylko jedną metodę w interfejsie. Na przykład: …
154 java  lambda  interface  java-8 

26
Odwrotna kolejność strumieni Java 8
Pytanie ogólne: Jaki jest właściwy sposób odwrócenia strumienia? Zakładając, że nie wiemy, z jakiego typu elementów składa się strumień, jaki jest ogólny sposób odwrócenia dowolnego strumienia? Konkretne pytanie: IntStreamzapewnia metodę zakresu do generowania liczb całkowitych w określonym zakresie IntStream.range(-range, 0), teraz, gdy chcę to odwrócić, przełączanie zakresu od 0 do …

9
Nie można uzyskać LocalDateTime z TemporalAccessor podczas analizowania LocalDateTime (Java 8)
Po prostu próbuję przekonwertować ciąg daty na obiekt DateTime w Javie 8. Po uruchomieniu następujących wierszy: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDateTime dt = LocalDateTime.parse("20140218", formatter); Otrzymuję następujący błąd: 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 of …

14
Kompresowanie strumieni za pomocą JDK8 z lambdą (java.util.stream.Streams.zip)
W JDK 8 z lambdą b93 istniała klasa java.util.stream.Streams.zip w b93, która mogłaby zostać użyta do zip strumieni (jest to zilustrowane w samouczku Exploring Java8 Lambdas. Part 1 autorstwa Dhananjay Nene ). Ta funkcja: Tworzy leniwy i sekwencyjny połączony Stream, którego elementy są wynikiem połączenia elementów dwóch strumieni. Jednak w …

2
Jak zapewnić kolejność przetwarzania w strumieniach java8?
Chcę przetwarzać listy wewnątrz XMLobiektu Java. Muszę zadbać o przetworzenie wszystkich elementów w celu ich otrzymania. Czy powinienem zatem dzwonić sequentialdo każdego, streamktórego używam? list.stream().sequential().filter().forEach() Czy wystarczy po prostu użyć strumienia, o ile nie używam równoległości? list.stream().filter().forEach()
148 java  java-8  java-stream 

10
Czy możesz podzielić strumień na dwa strumienie?
Mam zestaw danych reprezentowany przez strumień Java 8: Stream<T> stream = ...; Widzę, jak to przefiltrować, aby uzyskać losowy podzbiór - na przykład Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); Widzę również, jak mogę zredukować ten strumień, aby uzyskać …
146 java  java-8  java-stream 


4
Zrozumieć Spliterator, Collector i Stream w Javie 8
Mam problem ze zrozumieniem Streaminterfejsu w Javie 8, zwłaszcza gdy ma on związek z interfejsami Spliteratori Collector. Mój problem polega na tym, że po prostu nie rozumiem Spliteratori Collectorinterfejsów jeszcze, w wyniku czego Streaminterfejs jest nadal dla mnie nieco niejasny. Czym dokładnie jest a Spliteratori a Collectori jak ich używać? …

4
Jak określić typy funkcji dla metod void (nie Void) w Java8?
Bawię się Javą 8, aby dowiedzieć się, jak funkcjonuje jako obywatel pierwszej klasy. Mam następujący fragment: 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[] args) …
143 java  java-8 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.