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.
Szukam zwięzłego sposobu przekonwertowania pliku Iteratorna Streamlub bardziej szczegółowo, aby „wyświetlić” iterator jako strumień. Ze względu na wydajność chciałbym uniknąć kopiowania iteratora na nowej liście: Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Collection<String> copyList = new ArrayList<String>(); sourceIterator.forEachRemaining(copyList::add); Stream<String> targetStream = copyList.stream(); W oparciu o niektóre sugestie w komentarzach próbowałem również …
Czy masz dostęp do stosu w przepełnieniu stosu w : Iterable.foreach w Javie 8: Czy można to zrobić w Javie 8? Które z poniższych jest lepszą praktyką w Javie 8? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } Mam wiele pętli …
Jak w Javie 8 mogę filtrować kolekcję za pomocą Streaminterfejsu API, sprawdzając odrębność właściwości każdego obiektu? Na przykład mam listę Personobiektów i chcę usunąć osoby o tej samej nazwie, persons.stream().distinct(); Użyje domyślnego sprawdzenia równości dla Personobiektu, więc potrzebuję czegoś takiego, persons.stream().distinct(p -> p.getName()); Niestety distinct()metoda nie ma takiego przeciążenia. Czy …
Bawiłem się lambdami Java 8, aby łatwo filtrować kolekcje. Ale nie znalazłem zwięzłego sposobu na uzyskanie wyniku jako nowej listy w ramach tej samej instrukcji. Oto moje najbardziej zwięzłe podejście do tej pory: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List<Long> targetLongList = new ArrayList<>(); sourceLongList.stream().filter(l …
Mam interfejs, który zwraca java.lang.Iterable<T>. Chciałbym manipulować tym wynikiem przy użyciu interfejsu API Java 8 Stream. Jednak Iterable nie może „przesyłać strumieniowo”. Masz pomysł, jak używać Iterable jako strumienia bez konwertowania go na List?
Czy można określić niestandardową pulę wątków dla równoległego strumienia Java 8 ? Nie mogę tego nigdzie znaleźć. Wyobraź sobie, że mam aplikację serwera i chciałbym korzystać z równoległych strumieni. Ale aplikacja jest duża i wielowątkowa, więc chcę ją podzielić na części. Nie chcę wolno działającego zadania w jednym module zadań …
Przeczytałem na wielu stronach internetowych Opcjonalne powinny być używane tylko jako typ zwracany, a nie używane w argumentach metod. Próbuję znaleźć logiczny powód. Na przykład mam logikę, która ma 2 opcjonalne parametry. Dlatego myślę, że sensowne byłoby napisanie mojej sygnatury metody w ten sposób (rozwiązanie 1): public int calculateSomething(Optional<String> p1, …
Czy istnieje zwięzły sposób na iterację w strumieniu, mając jednocześnie dostęp do indeksu w strumieniu? String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"}; List<String> nameList; Stream<Integer> indices = intRange(1, names.length).boxed(); nameList = zip(indices, stream(names), SimpleEntry::new) .filter(e -> e.getValue().length() <= e.getKey()) .map(Entry::getValue) .collect(toList()); co wydaje się raczej rozczarowujące w porównaniu do podanego …
Chcę przekonwertować java.time.LocalDatena java.util.Datetyp. Ponieważ chcę ustawić datę na JDateChooser. A może jest jakiś wybór daty, który obsługuje java.timedaty?
Chcę podsumować listę liczb całkowitych. Działa w następujący sposób, ale składnia nie wydaje się właściwa. Czy można zoptymalizować kod? Map<String, Integer> integers; integers.values().stream().mapToInt(i -> i).sum();
W Javie 8 metody mogą być tworzone jako wyrażenia Lambda i mogą być przekazywane przez referencję (z niewielką pracą pod maską). Istnieje wiele przykładów online z lambdami tworzonymi i używanymi z metodami, ale nie ma przykładów, jak zrobić metodę przyjmującą lambda jako parametr. Jaka jest na to składnia? MyClass.method((a, b) …
Gram z lambdami w Javie 8 i natknąłem się na ostrzeżenie local variables referenced from a lambda expression must be final or effectively final. Wiem, że kiedy używam zmiennych wewnątrz anonimowej klasy, muszą one być ostateczne w klasie zewnętrznej, ale nadal - jaka jest różnica między ostateczną a efektywną ostateczną …
Java 8 dodała nowy interfejs API java.time do pracy z datami i godzinami ( JSR 310 ). Mam datę i godzinę jako ciąg (np "2014-04-08 12:30".). Jak mogę uzyskać LocalDateTimeinstancję z podanego ciągu? Po zakończeniu pracy z LocalDateTimeobiektem: jak mogę przekonwertować LocalDateTimeinstancję z powrotem na ciąg o takim samym formacie, …
Jedną z najbardziej przydatnych funkcji Java 8 są nowe defaultmetody interfejsów. Istnieją zasadniczo dwa powody (mogą być inne), dlaczego zostały wprowadzone: Zapewnienie rzeczywistych domyślnych implementacji. Przykład:Iterator.remove() Zezwolenie na ewolucję API JDK. Przykład:Iterable.forEach() Z punktu widzenia projektanta API chciałbym móc korzystać z innych modyfikatorów metod interfejsu, np final. Przydałoby się to …
Java 8 Collectors.toMapzgłasza, NullPointerExceptionjeśli jedna z wartości ma wartość „null”. Nie rozumiem tego zachowania, mapy mogą zawierać zerowe wskaźniki jako wartość bez żadnych problemów. Czy istnieje dobry powód, dla którego wartości nie mogą mieć wartości null Collectors.toMap? Czy jest też dobry sposób na naprawienie tego w Javie 8, czy powinienem …
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.