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.
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 …
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 …
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 …
Zamknięte. To pytanie nie jest zgodne z wytycznymi dotyczącymi przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat przepełnienia stosu. Zamknięte 3 lata temu . Popraw to pytanie Czy współbieżność Java w praktyce jest nadal aktualna? Zastanawiam się, czy pomysły, koncepcje i …
Optional Typ wprowadzony w Javie 8 to nowość dla wielu programistów. Czy metoda zwracająca metodę gettera Optional<Foo>zamiast klasyki Foojest dobrą praktyką? Załóżmy, że wartość może być null.
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 …
Rozumiem, że za pomocą .stream()mogę korzystać z operacji łańcuchowych takich jak .filter()strumień równoległy lub z niego korzystać. Ale jaka jest różnica między nimi, jeśli muszę wykonać małe operacje (na przykład wydrukować elementy listy)? collection.stream().forEach(System.out::println); collection.forEach(System.out::println);
Zastanawiam się, czy istnieje sposób, aby uzyskać aktualne milisekund od 1-1-1970 (epoki), stosując nowe LocalDate, LocalTimelub LocalDateTimeklasy Java 8. Znany sposób jest poniżej: long currentMilliseconds = new Date().getTime(); lub long currentMilliseconds = System.currentTimeMillis();
Patrzę na dokumenty dla IntStreami widzę toArraymetodę, ale nie ma sposobu, aby przejść bezpośrednio doList<Integer> Z pewnością istnieje sposób na konwersję A Streamna List?
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 …
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 …
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 …
Wiem, że są pytania dotyczące java.util.Date i Joda-Time. Ale po pewnym kopaniu nie mogłem znaleźć wątku na temat różnic między interfejsem API java.time (nowym w Javie 8 , zdefiniowanym przez JSR 310 ) a Joda-Time . Słyszałem, że java.time API Javy 8 jest znacznie czystsze i może zrobić znacznie więcej …
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 …
W Javie 8 mamy klasę Stream <T> , która, co ciekawe, ma metodę Iterator<T> iterator() Można się więc spodziewać, że zaimplementuje interfejs Iterable <T> , 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<T> …
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.