JDK 9 ist Feature Complete
So schreibt Mark Reinhold unter http://mail.openjdk.java.net/pipermail/jdk9-dev/2017-January/005505.html: We achieved the Feature Extension Complete milestone [1] in late December. All JEPs and small...
View ArticleGoogle Guava steigt (endlich) auf Java 8 um
Die News unter https://github.com/google/guava/wiki/Release21: Significant API additions and changes common.base Function, Predicate and Supplier: changed to extend the new java.util.functioninterfaces...
View ArticlePräfix-Operation der Stream-API
Unter einem Präfix verstehen wir eine Teilfolge eines Streams, die beim ersten Element beginnt. Wir können mit limit(long) selbst einen Präfix generieren, doch im Allgemeinen geht es darum eine...
View ArticleStream iterate(…)-Methoden
Die zwei statischen iterate(…)-Methoden generieren einen Stream aus einem Startwert und einer Funktion, die das nächste Element produziert. Bei iterate(T seed, UnaryOperator<T> f) ist der Strom...
View ArticleDie Schnittstelle Checksum
Wir finden Zugang zur Prüfsummenberechnung über die Schnittstelle java.util.zip.Checksum, die für ganz allgemeine Prüfsummen steht. Eine Prüfsumme wird entweder für ein Feld oder ein Byte berechnet....
View ArticleArrays mit Arrays.equals(…) und Arrays.deepEquals(…) vergleichen
Die statischen Methoden Arrays.equals(…) vergleichen, ob zwei Arrays die gleichen Inhalte besitzen; dazu ist die überladene Methode für alle wichtigen Typen definiert. Wenn zwei Arrays tatsächlich die...
View ArticleObjekt-Arrays mit Arrays.equals(…) und Arrays.deepEquals(…) vergleichen
Die Arrays.equals(…)-Methode kann auch beliebige Objektfelder vergleichen, doch nutzt sie dann nicht die Identitätsprüfung per ==, sondern die Gleichheit per equals(…). Eine seit Java 9 hinzugekommene...
View ArticleLexikografische Array-Verbleiche mit compare (…) und compareUnsigned(…)
Diverse in Java 9 eingeführte int compareXXX(XXX[] a, XXX[] b)-Methoden gehen die Arrays ab und testen alle Paare auf ihre Ordnung. Es gibt die von Comparator bekannte Rückgabe: ist jedes a[i] == b[i]...
View ArticleUnterschiede suchen mit Arrays.mismatch (…)
Neu in Java 9 sind weiterhin diverse Methoden int mismatch(XXX[] a, XXX[] b) int mismatch(XXX[] a, int aFromIndex, int aToIndex, XXX[] b, int bFromIndex, int bToIndex) Sie geben den Index auf das erste...
View ArticleGeld und Währung in Java
Geldbeträge repräsentieren Für Geldbeträge gibt es in Java keinen eigenen Datentyp und so kann eine Speicherung je nach Programm immer anders aussehen. Es bieten sich an: BigDecimal: Vorteil sind die...
View ArticleStatische ofXXX(…)-Methoden zum Aufbau unveränderbarer Set-, List-,...
In Java 9 sind echte immutable Datenstrukturen dazugekommen, die sich über statische ofXXX(…)-Methoden der Schnittstellen List, Set und Map aufbauen lassen. Jede versuchte Änderung an den...
View Articlenull-Prüfungen mit eingebauter Ausnahmebehandlung
Traditionell gilt es, null als Argument und in den Rückgaben zu vermeiden. Es ist daher gut, als Erstes in einem Methodenrumpf zu testen, ob die Argumente ungleich null sind – es sei denn, das ist...
View ArticleIndex-bezogene Programmargumente auf Korrektheit prüfen
Im Kapitel über Ausnahmen haben wir schon auf die Notwendigkeit hingewiesen, Wertebereiche zu prüfen und im Fehlerfall Ausnahmen wie IllegalArgumentException oder IndexOutOfBoundsException auszulösen...
View ArticleStream vom Scanner-Tokens generieren
Die in Java 9 eingeführte Objektmethode stream() ist eine sehr gute Ergänzung, denn sie liefert einen Stream<String> von zerlegten Strings. Beispiel: Durch Komma getrennte String sollen durch ein...
View ArticleNeues findAll(…) in Scanner
Immer dann, wenn ein Scanner mit einem regulären Ausdruck konfiguriert wurde, wird intern der Zustand vom dafür zugewiesenen Matcher aktualisiert. Die Scanner-Methode match() liefert einen MatchResult...
View ArticleProzess-Status erfragen und das Ende einleiten
Mit Methoden von Process lässt sich der Status des externen Programms erfragen und verändern. Die Methode waitFor(…) lässt den eigenen Thread so lange warten, bis das externe Programm zu Ende ist, oder...
View ArticleProcessHandle und Prozess-IDs
Ein ProcessHandle ist ein neuer Typ in Java 9, der native Prozesse identifiziert. Wir bekommen Exemplare entweder über die Process-Objektmethode toHandle(), die statische Methodecurrent(),...
View ArticleStackWalker and Stack-Walking API
Der Stack-Trace, den Java über die StackTraceElement bietet, ist relativ arm an Informationen, und die Standardausgabe über die Throwable-Methode printStackTrace(…) ist unübersichtlich. Aus...
View ArticlePrivate Schnittstellenmethoden
Seit Java 9 müssen die statischen und Default-Methoden nicht mehr public sein, sie können auch private sein. Das ist gut, denn das beugt Codeduplikate vor; mit privaten Methoden können Programmteile...
View Article
More Pages to Explore .....