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.

8
Czy wartości domyślne w JDK 8 są formą wielokrotnego dziedziczenia w Javie?
Nowa funkcja dostępna w JDK 8 umożliwia dodawanie do istniejącego interfejsu przy zachowaniu zgodności binarnej. Składnia jest podobna do public interface SomeInterface() { void existingInterface(); void newInterface() default SomeClass.defaultImplementation; } W ten sposób w przypadku wszystkich istniejących implementacji, SomeInterfacegdy aktualizują się do nowej wersji, nie wszystkie nagle mają błędy kompilacji …

10
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Nieprawidłowy tag bajtowy w stałej puli: 15
Przenoszę aplikację internetową z Tomcat 7 na inny serwer z Tomcat 7, ale z Javą 8. Tomcat uruchamia się pomyślnie, ale w dzienniku catalina.outotrzymuję: org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131) at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:60) at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:119) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2049) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1931) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1899) at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1885) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1281) …

12
Jak wykonać logikę na Opcjonalnym, jeśli nie jest obecny?
Chcę zamienić następujący kod za pomocą java8 Optional: public Obj getObjectFromDB() { Obj obj = dao.find(); if (obj != null) { obj.setAvailable(true); } else { logger.fatal("Object not available"); } return obj; } Poniższy pseudokod nie działa, ponieważ nie ma orElseRunmetody, ale tak czy inaczej ilustruje mój cel: public Optional<Obj> getObjectFromDB() …
83 java  java-8  optional 

5
Jak mogę zebrać strumień Java 8 w ImmutableCollection Guava?
Chciałbym wykonać następujące czynności: List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); ale w taki sposób, że wynikowa lista jest implementacją guawy ImmutableList. Wiem, że mógłbym to zrobić List<Integer> list = IntStream.range(0, 7).collect(Collectors.toList()); List<Integer> immutableList = ImmutableList.copyOf(list); ale chciałbym odebrać do niego bezpośrednio. próbowałem List<Integer> list = IntStream.range(0, 7) .collect(Collectors.toCollection(ImmutableList::of)); ale rzucił wyjątek: …

6
forEach loop Java 8 for Map entry set
Próbuję przekonwertować stare konwencjonalne dla każdej pętli do java7 na java8 dla każdej pętli dla zestawu pozycji mapy, ale otrzymuję błąd. Oto kod, który próbuję przekonwertować: for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("Key : " + entry.getKey() + " Value : " + entry.getValue()); } Oto zmiany, które wprowadziłem: …
82 java  lambda  java-8 

5
Jak używać liczby całkowitej bez znaku w Javie 8 i Java 9?
W Oracle „prymitywnych typów danych” strony , to mówi, że Java 8 dodaje wsparcie dla unsigned int i wyroby długie: int: Domyślnie inttyp danych jest 32-bitową uzupełnienie dwójkowe liczbę całkowitą, która ma wartość minimalną -2 31 i wartość maksymalnej ilości 2 31 -1. W Java SE 8, a następnie, można …
82 java  java-8  unsigned 



5
Maksymalny rozmiar metody w Javie 7 i 8
Wiem, że metoda w Javie nie może być większa niż 64 KB. Ograniczenie powoduje problemy z generowanym kodem z gramatyki JavaCC . Mieliśmy problemy z Javą 6 i mogliśmy to naprawić, zmieniając gramatykę. Czy limit został zmieniony dla Java 7, czy jest planowany dla Java 8? Żeby to było jasne. …
82 java  java-7  java-8 

3
Czy buforowanie odwołań do metod to dobry pomysł w Javie 8?
Rozważ, że mam kod podobny do następującego: class Foo { Y func(X x) {...} void doSomethingWithAFunc(Function<X,Y> f){...} void hotFunction(){ doSomethingWithAFunc(this::func); } } Załóżmy, że hotFunctionjest to wywoływane bardzo często. Czy byłoby wskazane buforowanie this::func, może w ten sposób: class Foo { Function<X,Y> f = this::func; ... void hotFunction(){ doSomethingWithAFunc(f); } …


4
Java 8: scal listy ze strumieniowym API
Mam następującą sytuację Map<Key, ListContainer> map; public class ListContainer{ List<AClass> lst; } Muszę scalić wszystkie listy lstz ListContainerobiektów z Mapmapy. public static void main(String args[]){ List<AClass> alltheObjectsAClass = map.values().stream(). // continue.... } Masz jakiś pomysł, jak, używając strumieniowego API Java 8?

3
Łapanie wielu wyjątków w Javie-8
Podczas wypróbowania funkcji Multi-catch znalazłem w mojej m1()metodzie wszystko działa dobrze zgodnie z oczekiwaniami. Jednak w m2()tym samym kodzie nie kompiluje się. Właśnie zmieniłem składnię, aby zmniejszyć liczbę wierszy kodu. public class Main { public int m1(boolean bool) { try { if (bool) { throw new Excep1(); } throw new …


6
Kod skrótu ArrayList, który zawiera się jako element
Czy możemy znaleźć hashcodecoś, listco zawiera się jako element? Wiem, że to zła praktyka, ale o to pytał ankieter. Kiedy uruchomiłem następujący kod, generuje on StackOverflowError: public class Main { public static void main(String args[]) { ArrayList<ArrayList> a = new ArrayList(); a.add(a); a.hashCode(); } } Teraz mam dwa pytania: Dlaczego …

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.