Java 9 została wydana i Observerzostała wycofana. Dlaczego? Czy to oznacza, że nie powinniśmy już wdrażać wzorca obserwatora? Dobrze byłoby wiedzieć, jaka jest lepsza
Java 9 została wydana i Observerzostała wycofana. Dlaczego? Czy to oznacza, że nie powinniśmy już wdrażać wzorca obserwatora? Dobrze byłoby wiedzieć, jaka jest lepsza
Google Guava ma predykat, który zawsze zwracatrue . Czy Java 8 ma coś podobnego Predicate? Wiem, że mógłbym użyć (foo)->{return true;}, ale chcę coś gotowego, analogicznego do
Dlaczego ZonedDateTime now = ZonedDateTime.now(); System.out.println(now.withZoneSameInstant(ZoneOffset.UTC) .equals(now.withZoneSameInstant(ZoneId.of("UTC")))); wydrukować false? Spodziewałbym się, że oba ZonedDateTimeprzypadki będą
Mam starą aplikację napisaną w Javie 7. Działa dobrze w środowisku JRE Java 8. Nie planuję przepisywania żadnego kodu w celu wykorzystania funkcji Java 8. Czy aktualizacja skompilowanego kodu do najnowszej JDK Java 8 ma jakieś techniczne korzyści? Dla jasności, kod jest obecnie skompilowany w...
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...
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...
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...
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
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 =...
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...
W wielu innych językach, np. Haskell, łatwo jest wielokrotnie powtórzyć wartość lub funkcję, np. aby otrzymać listę 8 kopii wartości 1: take 8 (repeat 1) ale nie znalazłem tego jeszcze w Javie 8. Czy jest taka funkcja w JDK Java 8? Lub alternatywnie coś równoważnego z zakresem takim...
Jak mogę uzyskać ostatni element strumienia lub listy w poniższym kodzie? Gdzie data.careasjest List<CArea>: CArea first = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal).findFirst().get(); CArea last = data.careas.stream() .filter(c ->
W szczególności mam TabPane i chciałbym wiedzieć, czy jest w nim element o określonym identyfikatorze. Tak więc chciałbym to zrobić z wyrażeniem lambda w Javie: boolean idExists = false; String idToCheck = "someId"; for (Tab t : tabPane.getTabs()){ if(t.getId().equals(idToCheck)) { idExists =...
Bawiłem się nowym API daty i czasu, ale podczas uruchamiania tego: public class Test { public static void main(String[] args){ String dateFormatted = LocalDate.now() .format(DateTimeFormatter .ofPattern("yyyy-MM-dd HH:mm:ss")); System.out.println(dateFormatted); } } Rzuca: Exception in...
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 +
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:...
Czy bezpieczną praktyką jest używanie metod domyślnych jako wersji cech dla ubogich w Javie 8? Niektórzy twierdzą, że pandy mogą być smutne, jeśli używasz ich tylko ze względu na to, że są fajne, ale nie taki jest mój zamiar. Często przypomina się również, że domyślne metody zostały wprowadzone w...
Bardzo chcę używać Map.computeIfAbsent, ale minęło zbyt dużo czasu od czasów lambda w undergrad. Niemal bezpośrednio z dokumentacji: zawiera przykład starego sposobu robienia rzeczy: Map<String, Boolean> whoLetDogsOut = new ConcurrentHashMap<>(); String key = "snoop"; if...
Modyfikacja zmiennej lokalnej w programie forEachpowoduje błąd kompilacji: Normalna int ordinal = 0; for (Example s : list) { s.setOrdinal(ordinal); ordinal++; } Z Lambda int ordinal = 0; list.forEach(s -> { s.setOrdinal(ordinal); ordinal++; }); Masz jakiś pomysł, jak to...