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.

5
Java8: Dlaczego zabronione jest definiowanie domyślnej metody dla metody z java.lang.Object
Metody domyślne to fajne nowe narzędzie w naszym zestawie narzędzi Java. Próbowałem jednak napisać interfejs, który definiuje defaultwersję toStringmetody. Java mówi mi, że jest to zabronione, ponieważ metody zadeklarowane w java.lang.Objectnie mogą być defaultedytowane. Dlaczego tak się dzieje? Wiem, że istnieje zasada "klasa bazowa zawsze wygrywa", więc domyślnie (kalambur;) każda …





4
Przejdź do następnego elementu, używając w strumieniu pętli foreach Java 8
Mam problem ze strumieniem Java 8 foreach próbującym przejść do następnego elementu w pętli. Nie mogę ustawić polecenia jak continue;, return;działa tylko, ale w tym przypadku wyjdziesz z pętli. Muszę przejść do następnego elementu w pętli. Jak mogę to zrobić? Przykład (nie działa): try(Stream<String> lines = Files.lines(path, StandardCharsets.ISO_8859_1)){ filteredLines = …
126 java  java-8 

3
Pobierz pierwszy element spełniający kryteria
Jak zdobyć pierwszy element spełniający kryteria w strumieniu? Próbowałem tego, ale nie działa this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name)); Kryteria te nie działają, metoda filtru jest wywoływana w klasie innej niż Stop. public class Train { private final String name; private final SortedSet<Stop> stops; public Train(String name) { this.name = name; this.stops = …
122 java  java-8  java-stream 

10
Skopiuj strumień, aby uniknąć stwierdzenia, że ​​„strumień był już obsługiwany lub zamknięty”
Chciałbym zduplikować strumień Java 8, abym mógł sobie z tym poradzić dwa razy. Mogę collectjako listę i uzyskać z tego nowe strumienie; // doSomething() returns a stream List<A> thing = doSomething().collect(toList()); thing.stream()... // do stuff thing.stream()... // do other stuff Ale wydaje mi się, że powinien być bardziej wydajny / …

3
Sformatuj LocalDateTime za pomocą strefy czasowej w Java8
Mam taki prosty kod: DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss.SSSSSS Z"); LocalDateTime.now().format(FORMATTER) Wtedy otrzymam następujący wyjątek: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: OffsetSeconds at java.time.LocalDate.get0(LocalDate.java:680) at java.time.LocalDate.getLong(LocalDate.java:659) at java.time.LocalDateTime.getLong(LocalDateTime.java:720) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) at java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.format(DateTimeFormatterBuilder.java:3315) at java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.format(DateTimeFormatterBuilder.java:2182) at java.time.format.DateTimeFormatter.formatTo(DateTimeFormatter.java:1745) at java.time.format.DateTimeFormatter.format(DateTimeFormatter.java:1719) at java.time.LocalDateTime.format(LocalDateTime.java:1746) Jak rozwiązać ten problem?
121 java  java-8  java-time 

9
Czy wyrażenia lambda mają inne zastosowanie niż zapisywanie wierszy kodu?
Czy wyrażenia lambda mają inne zastosowanie niż zapisywanie wierszy kodu? Czy są jakieś specjalne funkcje zapewniane przez lambdy, które rozwiązały problemy, które nie były łatwe do rozwiązania? Typowe użycie, które widziałem, jest takie, że zamiast pisać to: Comparator<Developer> byName = new Comparator<Developer>() { @Override public int compare(Developer o1, Developer o2) …
120 java  lambda  java-8 

4
CompletableFuture | thenApply vs thenCompose
Nie mogę zrozumieć różnicy między thenApply() a thenCompose(). Czy więc ktoś mógłby podać prawidłowy przypadek użycia? Z dokumentacji Java: thenApply(Function<? super T,? extends U> fn) Zwraca nową wartość, CompletionStagektóra po normalnym zakończeniu tego etapu jest wykonywana z wynikiem tego etapu jako argumentem dostarczonej funkcji. thenCompose(Function<? super T,? extends CompletionStage<U>> fn) …

6
Co oznacza lambda z 2 strzałkami w Javie 8?
Przeczytałem wcześniej kilka samouczków dotyczących języka Java 8. W tej chwili napotkałem następujący temat: Czy java obsługuje Currying? Tutaj widzę następujący kod: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); Rozumiem, że ten przykład sumuje 2 elementy, ale nie rozumiem konstrukcji: a -> b -> a + …
118 java  lambda  java-8  currying 

3
Jaka jest różnica między PermGen i Metaspace?
Aż do Java 7 istniał obszar w pamięci JVM o nazwie PermGen , w którym JVM zachowywał swoje klasy. W Javie 8 został usunięty i zastąpiony obszarem o nazwie Metaspace . Jakie są najważniejsze różnice między PermGen i Metaspace? Jedyną różnicą, jaką znam, jest to, że java.lang.OutOfMemoryError: PermGen spacenie można …



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.