Verwenden Sie dieses Tag für Fragen zu Java 8, Version 8 (interne Nummer 1.8) der Java-Plattform, die am 18. März 2014 veröffentlicht wurde. In den meisten Fällen sollten Sie auch das Java-Tag angeben.
Gibt es eine gute Möglichkeit, dem Bestehenden einen neuen Wert hinzuzufügen Stream? Ich kann mir nur so etwas vorstellen: public <T> Stream<T> addToStream(Stream<T> stream, T elem ) { List<T> result = stream.collect(Collectors.toList()); result.add(elem); return result.stream(); } Aber ich suche etwas Prägnanteres, das ich ohne Ausführlichkeit im Lambda-Ausdruck verwenden kann. Eine …
Der folgende Code wird sowohl in Java 8 als auch in Java kompiliert, verhält sich jedoch unterschiedlich. class Simple { static String sample = "\nEn un lugar\r\nde la Mancha\nde cuyo nombre\r\nno quiero acordarme"; public static void main(String args[]){ String[] chunks = sample.split("\\R\\R"); for (String chunk: chunks) { System.out.println("Chunk : "+chunk); …
Angenommen, ich habe eine Liste von Objekten, die mit Lambda-Ausdrücken (Abschlüssen) definiert wurden. Gibt es eine Möglichkeit, sie zu inspizieren, damit sie verglichen werden können? Der Code, der mich am meisten interessiert, ist List<Strategy> strategies = getStrategies(); Strategy a = (Strategy) this::a; if (strategies.contains(a)) { // ... Der vollständige Code …
Kann jemand ein Beispiel für die Verwendung von Java geben, um zu verstehen, was eine Monade ist? Sind sie möglich? Lambda-Ausdrücke sind mit Java möglich, wenn Sie das Lambda-kompatible JDK8 vor der Veröffentlichung von hier herunterladen: http://jdk8.java.net/lambda/ Ein Beispiel für ein Lambda, das dieses JDK verwendet, ist unten dargestellt. Kann …
Dieses Programm wird in Java 7 (oder in Java 8 mit -source 7) problemlos kompiliert, kann jedoch nicht mit Java 8 kompiliert werden: interface Iface<T> {} class Impl implements Iface<Impl> {} class Acceptor<T extends Iface<T>> { public Acceptor(T obj) {} } public class Main { public static void main(String[] args) …
Ich versuche, im folgenden Collectors.toMap()Aufruf einen prägnanteren Ausdruck für den Funktionsparameter "keyMapper" zu finden : List<Person> roster = ...; Map<String, Person> map = roster .stream() .collect( Collectors.toMap( new Function<Person, String>() { public String apply(Person p) { return p.getLast(); } }, Function.<Person>identity())); Es scheint, dass ich in der Lage sein sollte, …
Mit Java8 wissen wir, dass die Verwendung ZoneId.default()den Systemstandard erreichen kann ZoneId, aber wie kann man den Standard erhalten ZoneOffset? Ich sehe, dass a ZoneIdeinige "Regeln" hat und jede Regel a hat. Bedeutet das ZoneOffset, dass a ZoneIdmehr als eine haben kann ZoneOffset?
Beim Lesen eines interessanten Artikels behaupten die Jungs, dass der Unterschied zwischen den beiden Funktionen sind: Beide Funktionen möchten ein Element hinzufügen, wenn der angegebene Schlüssel noch nicht in Map vorhanden ist. putIfAbsent fügt ein Element mit dem angegebenen Wert hinzu, während computeIfAbsent ein Element mit dem mit dem Schlüssel …
Während ich nach einer kleinen Debatte über die Verwendung "" + nund Integer.toString(int)Konvertierung eines ganzzahligen Grundelements in einen String suchte, schrieb ich dieses JMH- Mikrobenchmark: @Fork(1) @OutputTimeUnit(TimeUnit.MILLISECONDS) @State(Scope.Benchmark) public class IntStr { protected int counter; @GenerateMicroBenchmark public String integerToString() { return Integer.toString(this.counter++); } @GenerateMicroBenchmark public String stringBuilder0() { return new …
Stream hat keine last()Methode: Stream<T> stream; T last = stream.last(); // No such method Was ist der eleganteste und / oder effizienteste Weg, um das letzte Element zu erhalten (oder null für einen leeren Stream)?
Vor einiger Zeit habe ich über eine Java 8-Methode zur rekursiven Berechnung von Fibonacci-Zahlen mit einem ConcurrentHashMapCache und der neuen, nützlichen computeIfAbsent()Methode gebloggt : import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public class Test { static Map<Integer, Integer> cache = new ConcurrentHashMap<>(); public static void main(String[] args) { System.out.println( "f(" + 8 + …
Gibt es eine integrierte Möglichkeit, einen nullsicheren Mapping-Komparator in Java 8 zu erstellen, ohne eine eigene Implementierung von zu schreiben Comparator? Wenn der folgende Code ausgeführt wird, wird eine NPE verursacht, da das keyExtractorArgument von Comparator.comparing()möglicherweise einen nullWert zurückgibt: public class ToSort { private String sortBy; public ToSort(String sortBy) { …
Bitte schauen Sie sich den folgenden Code an: Method methodInfo = MyClass.class.getMethod("myMethod"); Dies funktioniert, aber der Methodenname wird als Zeichenfolge übergeben, sodass dies auch dann kompiliert wird, wenn myMethod nicht vorhanden ist. Auf der anderen Seite führt Java 8 eine Methodenreferenzfunktion ein. Es wird zur Kompilierungszeit überprüft. Ist es möglich, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.