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.

3
forEach vs forEachOrdered w Java 8 Stream
Rozumiem, że te metody różnią się kolejnością wykonywania, ale we wszystkich moich testach nie mogę osiągnąć innej realizacji zamówienia. Przykład: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s->System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s->System.out.println("Output:"+s)); Wynik: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Proszę podać przykłady, kiedy 2 metody dadzą różne wyniki.

3
Dlaczego strumień równoległy z lambdą w inicjatorze statycznym powoduje zakleszczenie?
Natknąłem się na dziwną sytuację, w której użycie równoległego strumienia z lambdą w statycznym inicjatorze zajmuje pozornie wieczność bez użycia procesora. Oto kod: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Wydaje się, że jest to minimalne odtworzenie przypadku …


7
Przykład metody Java 8 Streams FlatMap
Sprawdzałem nadchodzące Java update, a mianowicie:Java 8 or JDK 8 . Tak, nie mogę się doczekać, jest dużo nowych rzeczy, ale jest coś, czego nie rozumiem, prosty kod: final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); javadocs są public <R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper) Zwraca strumień składający się …

4
Dlaczego nie można skompilować tej lambdy Java 8?
Następujący kod Java nie może się skompilować: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error …

3
Osobliwa funkcja wnioskowania o typie wyjątku w Javie 8
Pisząc kod dla innej odpowiedzi na tej stronie, natknąłem się na tę osobliwość: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static <T extends Throwable> void sneakyThrow(Throwable t) throws T { throw (T) t; } static <T …

7
Czy istnieje sposób na przekonwertowanie ZoneId na ZoneOffset w java 8?
Mam epoch second i zoneId, według method1.Można go przekonwertować na LocalDateTime z domyślnym systemem zoneId, ale nie znajduję sposobu, aby przekonwertować sekundę epoki na LocalDateTime przez method2, ponieważ nie ma. ZoneOffset.systemDefaultMyślę, że jest to niejasne. import java.time.{Instant, LocalDateTime, ZoneId, ZoneOffset} val epochSecond = System.currentTimeMillis() / 1000 LocalDateTime.ofInstant(Instant.ofEpochSecond(epochSecond), ZoneId.systemDefault())//method1 LocalDateTime.ofEpochSecond(epochSecond, 0, …

9
JDK8 - Błąd „Nie znaleziono pliku klasy dla javax.interceptor.InterceptorBinding” podczas próby wygenerowania javadoc za pomocą wtyczki Maven javadoc
Używam JDK8 (wypróbowałem go na moim obszarze roboczym Eclipse z Win x64 u25 JDK + w systemie Linux uruchomionym przez Jenkins - jdk-8u20-linux-x64, ten sam problem dla obu). Mam wielomodułowy projekt Mavena (uruchamiam cel Mavena „javadoc: agregat” z głównego modułu z opakowaniem typu „pom”). Sekcja kompilacji Pom wygląda następująco: <build> …

6
Wyrażenia lambda Java 8 - a co z wieloma metodami w klasie zagnieżdżonej
Czytam o nowych funkcjach pod adresem : http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.html Widziałem poniższy przykład: Korzystanie z klasy anonimowej: button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { System.out.println("Action Detected"); } }); Z Lambda: button.addActionListener(e -> { System.out.println("Action Detected"); }); Co zrobiłby ktoś, MouseListenergdyby chciał zaimplementować wiele metod w klasie anonimowej, np .: public void …

5
Dlaczego Stream.allMatch () zwraca wartość true dla pustego strumienia?
Mój kolega i ja mieliśmy błąd, który wynikał z naszego założenia, że ​​wywołanie pustego strumienia allMatch()powróci false. if (myItems.allMatch(i -> i.isValid()) { //do something } Oczywiście to trochę nasza wina, że ​​przyjmujemy i nie czytamy dokumentacji. Ale nie rozumiem, dlaczego allMatch()powraca domyślne zachowanie pustego strumienia true. Jaki był tego powód? …

4
Bardzo zdezorientowany przez wnioskowanie o typie komparatora Java 8
Przyglądałem się różnicy między Collections.sorti list.sort, w szczególności w odniesieniu do używania Comparatormetod statycznych i tego, czy typy parametrów są wymagane w wyrażeniach lambda. Zanim zaczniemy, wiem, że mógłbym użyć referencji do metod, np. Song::getTitleAby przezwyciężyć swoje problemy, ale moje zapytanie tutaj nie jest czymś, co chcę naprawić, ale czymś, …

11
Używanie JavaFX w środowisku JRE 8, błąd „Ograniczenie dostępu”
Podczas próby użycia klas powiązanych z javafx w moim nowym projekcie java 8 otrzymuję błąd ograniczenia dostępu z eclipse. Jak dotąd jedynym „rozwiązaniem”, jakie udało mi się znaleźć, jest nakazanie Eclipse ignorowania ograniczeń dostępu, ale nie jestem z tego zadowolony. Przykład błędu: Access restriction: The type Pane is not accessible …
84 java  eclipse  javafx  java-8 

4
Jak zachować kolejność iteracji listy podczas korzystania z Collections.toMap () w strumieniu?
Tworzę Mapz a Listw następujący sposób: List<String> strings = Arrays.asList("a", "bb", "ccc"); Map<String, Integer> map = strings.stream() .collect(Collectors.toMap(Function.identity(), String::length)); Chcę zachować tę samą kolejność iteracji, jaka była w List. Jak mogę utworzyć za LinkedHashMappomocą Collectors.toMap()metod?

10
Java 8: preferowany sposób zliczania iteracji lambda?
Często mam ten sam problem. Muszę policzyć przebiegi lambda do użycia poza lambdą . Na przykład: myStream.stream().filter(...).forEach(item -> { ... ; runCount++}); System.out.println("The lambda ran " + runCount + "times"); Problem polega na tym, że runCount musi być final, więc nie może to być int. Nie może to być, Integerponieważ …

9
Java 8: Formatowanie lambda z nowymi liniami i wcięciami
To, co chciałbym osiągnąć za pomocą wcięcia lambda, jest następujące: Instrukcja wielowierszowa: String[] ppl = new String[] { "Karen (F)", "Kevin (M)", "Lee (M)", "Joan (F)", "Des (M)", "Rick (M)" }; List<String> strings = Arrays.stream(ppl) .filter( (x) -> { return x.contains("(M)"); } ).collect(Collectors.toList()); strings.stream().forEach(System.out::println); Instrukcja jednowierszowa: List<String> strings = Arrays.stream(ppl) …

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.