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.
Chciałbym użyć java.util.Optional.orElseThrow() z typem wyjątku, który prosi o parametr konstruktora. Coś takiego: .orElseThrow(MyException::new(someArgument)) // obviously NOT working Czy istnieje sposób utworzenia dostawcy, który przekazuje moją wartość argumentu?
Map<String, String> phoneBook = people.stream() .collect(toMap(Person::getName, Person::getAddress)); Dostaję się, java.lang.IllegalStateException: Duplicate keygdy zostanie znaleziony zduplikowany element. Czy można zignorować taki wyjątek podczas dodawania wartości do mapy? W przypadku duplikatu należy po prostu kontynuować ignorowanie tego duplikatu klucza.
Wiem to: Instant jest raczej „techniczną” reprezentacją znaczników czasowych (nanosekund) do obliczeń. LocalDateTime jest raczej reprezentacją daty / godziny, w tym stref czasowych dla ludzi. Nadal IMO oba mogą być traktowane jako typ dla większości przypadków użycia aplikacji. Jako przykład: obecnie prowadzę zadanie wsadowe, w którym muszę obliczyć kolejny przebieg …
Wiem, że jest wiele pytań na temat SO, ale chcę i przykład przy użyciu nowego interfejsu API Java 8 Date. Znam również bibliotekę JodaTime, ale chcę sposób pracy bez bibliotek zewnętrznych. Funkcja musi narzekać na te ograniczenia: Zapobiegaj błędom od daty oszczędzania Dane wejściowe to dwa obiekty Data (bez czasu …
Więc zainstalowałem wersję beta JDK 8 jakiś czas temu, aby zobaczyć niektóre z przykładów. Myślałem już na pewno, że łatwo jest przełączać się między wersjami. Trochę rozwoju Play z IntelliJ. Z jakiegoś powodu IntelliJ kompiluje się z 8, chociaż: Mam kompilator ustawiony w Preferencjach, aby używać 1.6 Podobno używa SBT …
Java 8 wprowadza domyślne metody zapewniające możliwość rozszerzenia interfejsów bez potrzeby modyfikowania istniejących implementacji. Zastanawiam się, czy możliwe jest jawne wywołanie domyślnej implementacji metody, gdy metoda ta została zastąpiona lub nie jest dostępna z powodu sprzecznych domyślnych implementacji w różnych interfejsach. interface A { default void foo() { System.out.println("A.foo"); } …
Zastanawiam się, dlaczego Iterableinterfejs nie zapewnia metod stream()i parallelStream(). Rozważ następującą klasę: public class Hand implements Iterable<Card> { private final List<Card> list = new ArrayList<>(); private final int capacity; //... @Override public Iterator<Card> iterator() { return list.iterator(); } } Jest to realizacja ręku jak można mieć karty w ręku podczas …
Czy masz dostęp do stosu w przepełnieniu stosu w środowisku : Java w wersji 8, w języku angielskim - Function.identity () или t-> t? Mam pytanie dotyczące zastosowania Function.identity()metody. Wyobraź sobie następujący kod: Arrays.asList("a", "b", "c") .stream() .map(Function.identity()) // <- This, .map(str -> str) // <- is the same as …
Nowa struktura strumieniowa Java 8 i znajomi tworzą bardzo zwięzły kod java, ale natknąłem się na pozornie prostą sytuację, której wykonanie jest trudne. Zastanów się nad List<Thing> thingsmetodą i Optional<Other> resolve(Thing thing). Chcę zmapować Things do Optional<Other>s i uzyskać pierwszy Other. Oczywistym rozwiązaniem byłoby użycie things.stream().flatMap(this::resolve).findFirst(), ale flatMapwymaga zwrotu strumienia …
W przeciwieństwie do C # IEnumerable, gdzie potok wykonania może być wykonywany tyle razy, ile chcemy, w Javie strumień można „iterować” tylko raz. Każde wywołanie operacji terminalowej zamyka strumień, co czyni go bezużytecznym. Ta „funkcja” zabiera dużo energii. Wyobrażam sobie, że powód tego nie jest techniczny. Jakie były uwagi projektowe …
Czasami chcesz filtrować Streamz więcej niż jednym warunkiem: myList.stream().filter(x -> x.size() > 10).filter(x -> x.isCool()) ... lub możesz zrobić to samo ze złożonym warunkiem i jednym filter : myList.stream().filter(x -> x.size() > 10 && x -> x.isCool()) ... Domyślam się, że drugie podejście ma lepszą charakterystykę wydajności, ale nie wiem …
Podczas korzystania z Optionalklasy Java 8 istnieją dwa sposoby zawijania wartości w opcjonalne. String foobar = <value or null>; Optional.of(foobar); // May throw NullPointerException Optional.ofNullable(foobar); // Safe from NullPointerException Rozumiem, że Optional.ofNullableto jedyny bezpieczny sposób korzystania Optional, ale dlaczego w ogóle Optional.ofistnieje? Dlaczego po prostu nie korzystać Optional.ofNullable i być …
Zainstalowałem JDK 8 i próbuję uruchomić Eclipse. Otrzymuję następujący komunikat ostrzegawczy: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 Jakie są przyczyny zignorowania tej opcji maszyny wirtualnej?
Próbuję użyć Java 8 Streamdo znalezienia elementów w LinkedList. Chcę jednak zagwarantować, że istnieje jedno i tylko jedno dopasowanie do kryteriów filtru. Weź ten kod: public static void main(String[] args) { LinkedList<User> users = new LinkedList<>(); users.add(new User(1, "User1")); users.add(new User(2, "User2")); users.add(new User(3, "User3")); User match = users.stream().filter((user) -> …
Muszę skorzystać z usługi internetowej w moim projekcie. Korzystam z NetBeans, więc kliknąłem prawym przyciskiem myszy mój projekt i próbowałem dodać nowego „klienta usług sieciowych”. Ostatnim razem, gdy sprawdzałem, był to sposób na utworzenie klienta usługi internetowej. Ale to spowodowało błąd AssertionError, mówiąc: java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar: file: /path/to/glassfish/modules/jaxb-osgi.jar! /com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; …
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.