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.
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.
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 …
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?"); …
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) …
Przeczytałem dokumentację, ale nadal nie mogę uzyskać, kiedy powinienem użyć jednej lub drugiej: OffsetDateTime ZonedDateTime Zgodnie z dokumentacją OffsetDateTimenależy używać przy zapisywaniu daty do bazy, ale nie rozumiem dlaczego.
Javadoc of Collector pokazuje, jak zbierać elementy strumienia do nowej listy. Czy istnieje jedna linijka, która dodaje wyniki do istniejącej tablicy ArrayList?
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: …
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 …
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 …
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 …
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()
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ć …
Czy strumienie Java 8 są podobne do obserwacji RxJava? Definicja strumienia Java 8: Klasy w nowym java.util.streampakiecie udostępniają interfejs API Stream do obsługi operacji w stylu funkcjonalnym na strumieniach elementów.
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ć? …
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) …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.