bietet ein simples Textfeld und einen Button “Run Code”. Dann übersetzt ein Dienst in der Wolke den Code mit einem aktuellen Java 8-Compiler und gibt den “Programm Output” (Compilerfehler oder Resultat der Ausführung) in der rechten Spalte aus.
Das OpenJDK 8-Team spielt gerade das Release mit unterschiedlichen OS-Produkten durch, um Inkompatibilitäten festzustellen. Bitte testet eure Software mit aktuellen Builds von Java 8 und meldet Fehler, etwa hier im Blog oder noch besser auf . Falls eure Software über ein CI-System bebaut und getestet wird, nehmt Java …
Java ist zwar eine tolle Allround-Programmiersprache, aber die explizite Typisierung und der Zwang, Klassen und Methoden zu deklarieren, machen Java nicht wirklich attraktiv für Skripte, wo eher die Kompaktheit zählt und wo keine lang zu pflegenden Programme entstehen. Um die JVM und die Java-Bibliotheken auch zur …
Endrekursion (engl. Tail Call Recursion) ist eine Besonderheit bei Methoden, dass sie mit einem rekursiven Aufruf enden. Zum Einstieg: Ist die bekannte rekursive Implementierung der Fakultät endrekursiv? Zwar sieht es optisch so aus, als ob die factorial(int) mit einem Methodenaufruf an factorial(…) endet, doch findet …
Zufallszahlen sind immer nur Pseudozufallszahlen und werden mit einer mathematischen Formel aus dem Vorgänger generiert. Der Vorgänger muss dabei gespeichert werden, und das ist die Aufgabe eines Random-Objekts. Die Methode Math.random() nutzt intern ein Random-Objekt, und jetzt kann es zu Wartezeiten kommen, wenn …
Bei den vorangehenden Methoden wird null als Sonderfall behandelt, und Ausnahmen vermieden. So sind etwa Objects.toString(null) oder Objects.hashCode(null) in Ordnung und es wird um null „herumgearbeitet.“ Das ist nicht immer sinnvoll, denn traditionell gilt es null als Argument und in den Rückgaben zu vermeiden. Es …
Zwei neue Methoden in Java 8 bei der Klasse Objects sind isNull(Object o) und nonNull(Object o), wohinter sich ein einfacher Test auf o == null bzw. o != null verbirgt. class java.util.Objects static boolean isNull(Object obj) static boolean nonNull(Object obj) Liefert true wenn obj gleich null bzw. nicht null ist. Im …
In Java 8 ist in der Schnittstelle Iterator eine neue Default-Methode forEachRemaining(Consumer<? super E> action) eingezogen, die ein beliebiges Stückchen Code – transportiert über einen Consumer – auf jedem Element ausführt. Die Default-Methode ist ein Zweizeiler: java.util.Iterator.java, forEachRemaining() Mit …