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.
Kiedy użyjesz collect()vs reduce()? Czy ktoś ma dobre, konkretne przykłady, kiedy zdecydowanie lepiej jest iść w jedną lub drugą stronę? Javadoc wspomina, że metoda collect () jest modyfikowalną redukcją . Biorąc pod uwagę, że jest to redukcja zmienna, zakładam, że wymaga synchronizacji (wewnętrznej), co z kolei może mieć negatywny wpływ …
Mam problem z pełnym zrozumieniem roli, jaką combinerspełnia reducemetoda strumieniowa . Na przykład następujący kod nie kompiluje się: int length = asList("str1", "str2").stream() .reduce(0, (accumulatedInt, str) -> accumulatedInt + str.length()); Komunikat o błędzie kompilacji: (niezgodność argumentów; nie można przekonwertować wartości int na java.lang.String) ale ten kod się kompiluje: int length …
Jestem nowy w Javie 8. Nadal nie znam dokładnie API, ale zrobiłem mały nieformalny test porównawczy, aby porównać wydajność nowego API Streams ze starymi, dobrymi kolekcjami. Badanie polega na filtrowanie listy Integeri dla każdego numeru nawet obliczyć pierwiastek kwadratowy i przechowywanie go w rezultacie Listo Double. Oto kod: public static …
Właśnie zacząłem patrzeć na Javę 8 i wypróbować lambdy, pomyślałem, że spróbuję przepisać bardzo prostą rzecz, którą niedawno napisałem. Muszę przekształcić Map of String to Column w inną Map of String to Column, gdzie kolumna w nowej mapie jest obronną kopią kolumny z pierwszej mapy. Kolumna ma konstruktora kopiującego. Najbliższe, …
Powszechnie wiadomo, że Cloneableinterfejs w Javie jest uszkodzony. Jest ku temu wiele powodów, o których nie wspomnę; inni już to zrobili. Jest to również stanowisko samych architektów Javy . Moje pytanie brzmi zatem: dlaczego nie zostało jeszcze wycofane? Jeśli główny zespół Java zdecydował, że jest uszkodzony, musiał również rozważyć jego …
Pracowałem z nowym typem opcjonalnym w Javie 8 i natknąłem się na coś, co wygląda na typową operację, która nie jest obsługiwana funkcjonalnie: „orElseOptional” Rozważ następujący wzór: Optional<Result> resultFromServiceA = serviceA(args); if (resultFromServiceA.isPresent) return result; else { Optional<Result> resultFromServiceB = serviceB(args); if (resultFromServiceB.isPresent) return resultFromServiceB; else return serviceC(args); } Istnieje …
Czytam o strumieniach Java i odkrywam nowe rzeczy w trakcie. Jedną z nowych rzeczy, które znalazłem, była peek()funkcja. Prawie wszystko, co przeczytałem w Peek, mówi, że powinno się go używać do debugowania strumieni. Co by było, gdybym miał Stream, w którym każde konto ma nazwę użytkownika, pole hasła oraz metodę …
Mam jeden komputer, na którym celowo zainstalowałem JDK. Mam inny komputer z JRE, między innymi do testowania. Jednak kiedy dostałem aplikację java działającą na tym komputerze, a potem wypróbowałem ją na innym, narzekała, że JDK jest wymagany. Jak mogę sprawdzić, czy JDK został w jakiś sposób zainstalowany w moim systemie? …
Mam List<Person>. Muszę uzyskać wartość Listz właściwości Person. Na przykład mam Personklasę: class Person { private String name; private String birthDate; public String getName() { return name; } public String getBirthDate() { return birthDate; } Person(String name) { this.name = name; } } List<Person> personList = new ArrayList<>(); personList.add(new Person("David")); …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 3 lata temu . Popraw to pytanie Zapytano mnie o to podczas wywiadu i nie jestem przekonany, że udzieliłem …
Właśnie zainstalowałem IntelliJ IDEA i kiedy próbuję stworzyć mój pierwszy projekt, prosi mnie o skonfigurowanie Project SDK. Kiedy klikam „JDK”, prosi mnie o wybranie katalogu domowego JDK, jak pokazano na tym obrazku. Mam problem ze znalezieniem tego, gdzie to jest.
Obecnie zawsze, gdy muszę utworzyć strumień z tablicy, robię to String[] array = {"x1", "x2"}; Arrays.asList(array).stream(); Czy istnieje bezpośredni sposób tworzenia strumienia z tablicy?
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 alternatywa?
Czytając specyfikację Java-8, wciąż widzę odniesienia do „typów SAM”. Nie udało mi się znaleźć jasnego wyjaśnienia, co to jest. Co to jest typ SAM i jaki jest przykładowy scenariusz, kiedy można go użyć?
Szybko zdasz sobie sprawę, że JDK8 jest dużo bardziej rygorystyczny (domyślnie), jeśli chodzi o Javadoc. ( link - patrz ostatni podpunkt) Jeśli nigdy nie wygenerujesz żadnego Javadoc, to oczywiście nie napotkasz żadnych problemów, ale rzeczy takie jak proces wydawania Maven i możliwe, że kompilacje CI nagle zawiodą, gdy działały dobrze …
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.