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.

12
Jak zanegować predykat odwołania do metody
W Javie 8 możesz użyć odwołania do metody do filtrowania strumienia, na przykład: Stream<String> s = ...; long emptyStrings = s.filter(String::isEmpty).count(); Czy istnieje sposób na utworzenie odwołania do metody, które jest negacją istniejącego, tj. Coś takiego: long nonEmptyStrings = s.filter(not(String::isEmpty)).count(); Mogłem stworzyć notmetodę jak poniżej, ale zastanawiałem się, czy JDK …
330 java  predicate  java-8  negate 

17
Maven nie działa w Javie 8, gdy tagi Javadoc są niekompletne
Odkąd korzystam z Maven, byłem w stanie zbudować i zainstalować w moim lokalnym repozytorium projekty, które mają niekompletne tagi Javadoc (na przykład brakujący parametr). Ponieważ jednak przeprowadziłem migrację do Javy 8 (1.8.0-ea-b90), Maven jest absolutnie surowy w kwestii brakujących znaczników dokumentacji i pokazuje mi wiele błędów Javadoc związanych z problemami …

13
Przerwać lub powrócić ze strumienia Java 8 dla każdego?
Podczas korzystania z zewnętrznej iteracji w pętli Iterableużywamy breaklub returnz rozszerzonej dla każdej pętli jako: for (SomeObject obj : someObjects) { if (some_condition_met) { break; // or return obj } } Jak możemy breaklub returnużywając wewnętrznej iteracji w wyrażeniu lambda Java 8, takim jak: someObjects.forEach(obj -> { //what to do …
312 java  foreach  lambda  java-8 



17
Jak mogę zgłosić WYJĄTKOWO wyjątki ze strumieni Java 8?
W jaki sposób mogę zgłaszać sprawdzone wyjątki z wewnętrznych strumieni Java 8 / lambdas? Innymi słowy, chcę, aby kod taki jak ten był kompilowany: public List<Class> getClasses() throws ClassNotFoundException { List<Class> classes = Stream.of("java.lang.Object", "java.lang.Integer", "java.lang.String") .map(className -> Class.forName(className)) .collect(Collectors.toList()); return classes; } Ten kod nie kompiluje się, ponieważ Class.forName()powyższa …




11
Funkcjonalny styl Java 8's Optional.ifPresent i if-not-Present?
W Javie 8 chcę zrobić coś z Optionalobiektem, jeśli jest obecny, i zrobić coś innego, jeśli go nie ma. if (opt.isPresent()) { System.out.println("found"); } else { System.out.println("Not found"); } Nie jest to jednak „funkcjonalny styl”. Optionalma ifPresent()metodę, ale nie mogę połączyć orElse()metody. Dlatego nie mogę napisać: opt.ifPresent( x -> System.out.println("found …

13
Zastosowania opcjonalne
Korzystam z Java 8 już od ponad 6 miesięcy, jestem całkiem zadowolony z nowych zmian API. Jednym z obszarów, w którym wciąż nie jestem pewny, jest czas użycia Optional. Wydaje mi się, że waham się między chęcią używania go wszędzie, gdzie coś może być null, i nigdzie. Wydaje się, że …
271 java  java-8  optional 

10
Java 8: Różnica między dwoma LocalDateTime w wielu jednostkach
Próbuję obliczyć różnicę między dwoma LocalDateTime . Dane wyjściowe muszą mieć format y years m months d days h hours m minutes s seconds. Oto co napisałem: import java.time.Duration; import java.time.Instant; import java.time.LocalDateTime; import java.time.Period; import java.time.ZoneId; public class Main { static final int MINUTES_PER_HOUR = 60; static final int …


9
Domyślne metody interfejsu są obsługiwane tylko w systemie Android N.
Uaktualniłem do Androida Studio 3.1 i pojawia się następujący błąd: Default interface methods are only supported starting with Android N (--min-api 24): void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner) Message{kind=ERROR, text=Default interface methods are only supported starting with Android N (--min-api 24): void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner), sources=[Unknown source file], tool name=Optional.of(D8)} oto moja konfiguracja stopni: compileSdkVersion 27 …
262 android  java-8  kotlin 

9
Dlaczego Stream <T> nie implementuje Iterable <T>?
W Javie 8 mamy klasę Stream &lt;T&gt; , która, co ciekawe, ma metodę Iterator&lt;T&gt; iterator() Można się więc spodziewać, że zaimplementuje interfejs Iterable &lt;T&gt; , który wymaga dokładnie tej metody, ale tak nie jest. Kiedy chcę iterować po strumieniu za pomocą pętli foreach, muszę zrobić coś takiego public static Iterable&lt;T&gt; …

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.