Java 8 support
in eclipse luna
Matthias Köster - binaere-bauten gmbh
04.06.2014 @ Eclipse DemoCamp Hamburg
Ich wollte Java 8 lernen (Scala geht so...)
...aber kein Kunde will kann darf das schon verwenden
Die Alternative:
DemoCam...
Demo Time - stay tuned
Sharing the user „experience“ with you
binaere bauten gmbh • matthias köster
Und wie sieht es heute...
DemoCamp 2014 Hamburg
RC2 von eclipse luna
Quick Fix && Refactoring für SAM <-> Lambda
Content assist besser, aber
Nicht f...
ist schon in Java 7...
...und will kann darf kein Kunde einsetzen
...macht aber mehr Spaß mit Lambdas
Game of Live auf dem...
Java 8 is a big revolutionary step
default methods
Virtual extension methods
Lambdas & SAM
Stream API
But
eclipse still ha...
Thanks a lot for your attention!
fin
binaere bauten gmbh • matthias köster
Interface
Static methods
binaere bauten gmbh • matthias köster
public interface Comparator<T> {
public static <T…> Compara...
Virtual extension methods
binaere bauten gmbh • matthias köster
public interface Iterable<T> {
default void forEach(Consum...
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");
Collect...
Lambda Expression
Variable capture
binaere bauten gmbh • matthias köster
String prefix ="Hi "; // effectively final
names....
Method handles
binaere bauten gmbh • matthias köster
List<Integer> nums = Arrays.asList(10, 2, 3);
nums.sort(Integer::comp...
Type inference
binaere bauten gmbh • matthias köster
List<String> myList = Collections.emptyList();
Collections.sort(myLis...
Stream API
binaere bauten gmbh • matthias köster
List<String> names = Arrays.asList("one", "two", "three");
int minSize = ...
Game of Life Demo from Hackathon
„JavaFX on Java SE Embedded“
 I still don‘t have a Raspberry Pi
 but another team membe...
Upcoming SlideShare
Loading in …5
×

Java 8-eclipse-luna

583 views

Published on

slides of the demo I gave at the eclipse luna democamp in Hamburg June 2014.

Published in: Software, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
583
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java 8-eclipse-luna

  1. 1. Java 8 support in eclipse luna Matthias Köster - binaere-bauten gmbh 04.06.2014 @ Eclipse DemoCamp Hamburg
  2. 2. 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 vorgestellt Kein Quick Fix || Refactoring für Lambdas Content assist fehlte teilweise Fazit JDT ist fast schon so gut wie jede Scala IDE ;-) binaere bauten gmbh • matthias köster Was bisher geschah...
  3. 3. Demo Time - stay tuned Sharing the user „experience“ with you binaere bauten gmbh • matthias köster Und wie sieht es heute aus?
  4. 4. DemoCamp 2014 Hamburg RC2 von eclipse luna Quick Fix && Refactoring für SAM <-> Lambda Content assist besser, aber Nicht für method handles  Fazit eclipse still has to catch up binaere bauten gmbh • matthias köster Stand heute
  5. 5. 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
  6. 6. Java 8 is a big revolutionary step default methods Virtual extension methods Lambdas & SAM Stream API But eclipse still has to catch up binaere bauten gmbh • matthias köster Summary
  7. 7. Thanks a lot for your attention! fin binaere bauten gmbh • matthias köster
  8. 8. Interface Static methods binaere bauten gmbh • matthias köster public interface Comparator<T> { public static <T…> Comparator<T> reverseOrder() { return Collections.reverseOrder(); } }
  9. 9. 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); } } }
  10. 10. SAM interface binaere bauten gmbh • matthias köster public interface Comparable<T> { public int compareTo(T o); }
  11. 11. 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));
  12. 12. Lambda Expression Variable 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 anymore names.forEach( (String s) -> System.out.println(prefix + s));
  13. 13. 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);
  14. 14. Type inference binaere bauten gmbh • matthias köster List<String> myList = Collections.emptyList(); Collections.sort(myList, (o1, o2) -> o2.compareTo(o1));
  15. 15. 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);
  16. 16. 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

×