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.


7
Ignoruj ​​duplikaty podczas tworzenia mapy za pomocą strumieni
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.
257 java  java-8  java-stream 

4
Jaka jest różnica między Instant a LocalDateTime?
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 …
255 java  datetime  java-8 

13
Oblicz dni między dwiema datami w Javie 8
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 …

12
Usuwanie Java 8 JDK z Mac
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 …

4
Jawne wywoływanie domyślnej metody w Javie
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"); } …

3
Dlaczego Iterable <T> nie zapewnia metod stream () i parallelStream ()?
Zastanawiam się, dlaczego Iterableinterfejs nie zapewnia metod stream()i parallelStream(). Rozważ następującą klasę: public class Hand implements Iterable&lt;Card&gt; { private final List&lt;Card&gt; list = new ArrayList&lt;&gt;(); private final int capacity; //... @Override public Iterator&lt;Card&gt; iterator() { return list.iterator(); } } Jest to realizacja ręku jak można mieć karty w ręku podczas …

3
Java 8 lambdas, Function.identity () lub t-> t
Czy masz dostęp do stosu w przepełnieniu stosu w środowisku : Java w wersji 8, w języku angielskim - Function.identity () или t-&gt; t? Mam pytanie dotyczące zastosowania Function.identity()metody. Wyobraź sobie następujący kod: Arrays.asList("a", "b", "c") .stream() .map(Function.identity()) // &lt;- This, .map(str -&gt; str) // &lt;- is the same as …

12
Opcjonalne używanie Java 8 z Stream :: flatMap
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&lt;Thing&gt; thingsmetodą i Optional&lt;Other&gt; resolve(Thing thing). Chcę zmapować Things do Optional&lt;Other&gt;s i uzyskać pierwszy Other. Oczywistym rozwiązaniem byłoby użycie things.stream().flatMap(this::resolve).findFirst(), ale flatMapwymaga zwrotu strumienia …

5
Dlaczego strumienie Java są jednorazowe?
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 …

4
Strumienie Java 8: wiele filtrów vs. złożony stan
Czasami chcesz filtrować Streamz więcej niż jednym warunkiem: myList.stream().filter(x -&gt; x.size() &gt; 10).filter(x -&gt; x.isCool()) ... lub możesz zrobić to samo ze złożonym warunkiem i jednym filter : myList.stream().filter(x -&gt; x.size() &gt; 10 &amp;&amp; x -&gt; x.isCool()) ... Domyślam się, że drugie podejście ma lepszą charakterystykę wydajności, ale nie wiem …

4
Dlaczego warto korzystać z Optional.of zamiast Optional.ofNullable?
Podczas korzystania z Optionalklasy Java 8 istnieją dwa sposoby zawijania wartości w opcjonalne. String foobar = &lt;value or null&gt;; 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ć …

6
Eliminacja PermGen w JDK 8
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?
229 java  java-8  jvm  permgen 

19
Filtruj strumień Java do 1 i tylko 1 elementu
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&lt;User&gt; users = new LinkedList&lt;&gt;(); users.add(new User(1, "User1")); users.add(new User(2, "User2")); users.add(new User(3, "User3")); User match = users.stream().filter((user) -&gt; …

23
Błąd generowania klienta WebService z JDK8
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; …

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.