Java 8-eclipse-luna
-
Upload
matthias-koester -
Category
Software
-
view
292 -
download
0
description
Transcript of Java 8-eclipse-luna
Java 8 support in eclipse luna
Matthias Köster - binaere-bauten gmbh04.06.2014 @ Eclipse DemoCamp Hamburg
Ich wollte Java 8 lernen (Scala geht so...)...aber kein Kunde will kann darf das schon verwenden
Die Alternative:DemoCamp Dezember 2013 Berlin
Kepler Java 8 support vorgestelltKein Quick Fix || Refactoring für LambdasContent assist fehlte teilweise
FazitJDT ist fast schon so gut wie jede Scala IDE ;-)
binaere bauten gmbh • matthias köster
Was bisher geschah...
Demo Time - stay tunedSharing the user „experience“ with you
binaere bauten gmbh • matthias köster
Und wie sieht es heute aus?
DemoCamp 2014 HamburgRC2 von eclipse luna
Quick Fix && Refactoring für SAM <-> LambdaContent assist besser, aber
Nicht für method handles
Faziteclipse still has to catch up
binaere bauten gmbh • matthias köster
Stand heute
ist schon in Java 7......und will kann darf kein Kunde einsetzen
...macht aber mehr Spaß mit Lambdas
Game of Live auf dem RaspPi...hab aber noch immer keinen RaspPi
...hat aber Spaß gemacht
JavaFX ist cool! echte JavaFX Demo kommt noch ;-)
binaere bauten gmbh • matthias köster
...und JavaFX/Java Embedded Hackathon
Java 8 is a big revolutionary stepdefault methodsVirtual extension methodsLambdas & SAMStream API
Buteclipse still has to catch up
binaere bauten gmbh • matthias köster
Summary
Thanks a lot for your attention!
fin
binaere bauten gmbh • matthias köster
InterfaceStatic methods
binaere bauten gmbh • matthias köster
public interface Comparator<T> {
public static <T…> Comparator<T> reverseOrder() {return Collections.reverseOrder();
}
}
Virtual extension methods
binaere bauten gmbh • matthias köster
public interface Iterable<T> {
default void forEach(Consumer<? super T> action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } }
}
SAM interface
binaere bauten gmbh • matthias köster
public interface Comparable<T> {
public int compareTo(T o);
}
Lambda Expression
binaere bauten gmbh • matthias köster
List<String> names = Arrays.asList("one", "two", "three");
Collections.sort(names, (String o1, String o2) -> o2.compareTo(o1));
Lambda ExpressionVariable capture
binaere bauten gmbh • matthias köster
String prefix ="Hi "; // effectively final
names.forEach((String s) -> System.out.println(prefix + s));
prefix = ""; // not effectively final anymorenames.forEach(
(String s) -> System.out.println(prefix + s));
Method handles
binaere bauten gmbh • matthias köster
List<Integer> nums = Arrays.asList(10, 2, 3);
nums.sort(Integer::compareTo);
List<String> names = Arrays.asList("one", "two", "three");
names.forEach(System.out::println);
Type inference
binaere bauten gmbh • matthias köster
List<String> myList = Collections.emptyList();
Collections.sort(myList, (o1, o2) -> o2.compareTo(o1));
Stream API
binaere bauten gmbh • matthias köster
List<String> names = Arrays.asList("one", "two", "three");
int minSize = names.parallelStream().mapToInt(String::length).reduce(0, Integer::min);
OptionalInt minSize = names.parallelStream().mapToInt(String::length).min();
Path p = FileSystems.getDefault().getPath("/tmp/index.html");
Files.lines(p,Charset.forName("UTF-8")).forEach(System.out::println);
Game of Life Demo from Hackathon „JavaFX on Java SE Embedded“
I still don‘t have a Raspberry Pi but another team member won a
RaspPi and may be I get one from Santa
binaere bauten gmbh • matthias köster
JavaFX