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.
Próbuję sformatować Instant na ciąg za pomocą nowego interfejsu API Java 8 i wzoru: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); Korzystając z powyższego kodu, otrzymuję wyjątek, który dotyczy nieobsługiwanego pola: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) ...
Mam zewnętrzny interfejs API, który zwraca mi daty jako longs, reprezentowane jako milisekundy od początku Epoki. W starym stylu Java API, po prostu konstruowałbym Datez niego Date myDate = new Date(startDateLong) Jaki jest odpowiednik w Javie 8 LocalDate/ LocalDateTimeklasach? Jestem zainteresowany przekształcając punkt w czasie, reprezentowana przez longDo LocalDatew moim …
Uwaga: to pytanie pochodzi z martwego linku, który był poprzednim pytaniem SO, ale tutaj idzie ... Zobacz ten kod ( uwaga: wiem, że ten kod nie będzie „działał” i że Integer::comparenależy go użyć - właśnie wyodrębniłem go z połączonego pytania ): final ArrayList <Integer> list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList()); System.out.println(list.stream().max(Integer::max).get()); System.out.println(list.stream().min(Integer::min).get()); …
Zauważyłem, że wiele metod Java 8 w Oracle JDK używa Objects.requireNonNull(), które wewnętrznie wyrzuca, NullPointerExceptionjeśli dany obiekt (argument) jest null. public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } Ale i NullPointerExceptiontak zostanie wyrzucony, jeśli nullobiekt zostanie zaniedbany. Dlaczego więc należy wykonać …
W Javie jest wiele przydatnych nowych rzeczy. Np. Mogę iterować ze strumieniem nad listą obiektów, a następnie sumować wartości z określonego pola Objectinstancji. Na przykład public class AClass { private int value; public int getValue() { return value; } } Integer sum = list.stream().mapToInt(AClass::getValue).sum(); Dlatego pytam, czy jest jakiś sposób …
Próbuję zrozumieć różnicę między metodami Optional<T>.orElse()a Optional<T>.orElseGet(). Opis orElse()metody to „Zwróć wartość, jeśli jest obecna, w przeciwnym razie zwróć inną”. Chociaż opis orElseGet()metody brzmi „Zwróć wartość, jeśli jest obecna, w przeciwnym razie wywołaj inną i zwróć wynik tego wywołania”. orElseGet()Metoda zajmuje interfejs funkcjonalny dostawca, który zasadniczo nie bierze żadnych parametrów …
Testowałem nowe funkcje Java 8 i skopiowałem przykład do mojego IDE (początkowo Eclipse, potem IntelliJ), jak pokazano tutaj Eclipse nie oferował żadnej obsługi wyrażeń lambda, a IntelliJ ciągle zgłaszał błąd Wyrażenia lambda nie są obsługiwane na tym poziomie języka Chciałbym wiedzieć, czy jest to problem z moją instalacją, kodem lub …
W Javie 8 istnieje nowa metoda, String.chars()która zwraca strumień ints ( IntStream) reprezentujący kody znaków. Sądzę, że wiele osób spodziewałoby się tutaj strumienia chars. Jaka była motywacja do zaprojektowania API w ten sposób?
Właśnie odkryłem nowe możliwości strumienia Java 8. Pochodząc z Pythona, zastanawiałem się, czy istnieje teraz dobry sposób na wykonywanie operacji na tablicach, takich jak sumowanie, mnożenie dwóch tablic w sposób „pythonowy” w jednej linii? Dzięki
Chciałbym poznać różnicę między CompletableFuture, Futurea Observable RxJava. Wiem, że wszystko jest asynchroniczne, ale Future.get() blokuje wątek CompletableFuture podaje metody wywołania zwrotnego RxJava Observable--- podobnie jak w CompletableFutureprzypadku innych korzyści (nie jestem pewien) Na przykład: jeśli klient musi wykonać wiele wywołań usług, a kiedy korzystamy Futures(Java) Future.get()będzie wykonywany sekwencyjnie ... …
Mam listę, w myListToParsektórej chcę filtrować elementy, zastosować metodę do każdego elementu i dodać wynik do innej listy myFinalList. W Javie 8 zauważyłem, że mogę to zrobić na 2 różne sposoby. Chciałbym poznać bardziej skuteczny sposób między nimi i zrozumieć, dlaczego jeden sposób jest lepszy od drugiego. Jestem otwarty na …
Załóżmy, że mam następujący interfejs funkcjonalny w Javie 8: interface Action<T, U> { U execute(T t); } A w niektórych przypadkach potrzebuję akcji bez argumentów lub typu zwracanego. Piszę więc coś takiego: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; Daje mi to jednak błąd kompilacji, muszę go …
Czy istnieje operacja strumienia Java 8, która ogranicza (potencjalnie nieskończony), Streamdopóki pierwszy element nie dopasuje predykatu? W Javie 9 możemy użyć takeWhilejak w poniższym przykładzie, aby wydrukować wszystkie liczby mniejsze niż 10. IntStream .iterate(1, n -> n + 1) .takeWhile(n -> n < 10) .forEach(System.out::println); Ponieważ w Javie 8 nie …
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.