Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Groovify your java code by hervé roussel

2,567 views

Published on

Write less JVM code using the power of Groovy

Interactive slides at: https://slides.com/hroussel/groovify-your-java-code/

Published in: Technology
  • Be the first to comment

Groovify your java code by hervé roussel

  1. 1. Groovify your Java Code A guide to Groovy syntax for Java coders By for Coding Dojo 2014 Interactive slides at: Hervé Vũ Roussel Agile Vietnam https://slides.com/hroussel/groovify-your-java-code
  2. 2. Print / bracket, semicol optional System.out.println("Hello World!"); println "Hello World!"
  3. 3. Return optional String getCurrentCity() { return "Ho Chi Minh City"; } def getCurrentCity() { "Ho Chi Minh City" }
  4. 4. Try/catch optional try{ Reader reader = new FileReader("/vietnam-cities.txt") } catch(FileNotFoundException e) { e.printStackTrace() } def reader = new FileReader("/vietnam-cities.txt")
  5. 5. Duck typing String s = "Hello"; String c = 'c'; Integer i = new Integer(1); BigDecimal d = new BigDecimal(1.2); def s = "Hello" def c = 'c' def i = 1 def d = 1.2
  6. 6. Strong typing String s = "Hello"; Character = new Character(‘c’); Integer i = new Integer(1); Float d = new Float(1.2); String s = "Hello" Character c = 'c' Integer i = 1 Float f = 1.2
  7. 7. Existential operator (Elvis) if (city != null) { if (city.getAirport() != null) { city.getAirport().getCode(); } } city?.getAirport()?.getCode()
  8. 8. Truth if (1 != 0) if (new City() != null) if ("John".equals("")) if (["HCMC", "Hanoi"].length > 0) if (1) if (city) if ("John") if (["HCMC", "Hanoi"])
  9. 9. Collections String [] cities = ["HCMC","Hanoi"]; System.out.println(cities[0]); Map<String,String> airports = new HashMap<String,String>(); airports.put("SGN", "Ho Chi Minh City"); airports.put("CDG", "Paris"); System.out.println(airports.get("SGN")); def cities = ["HCMC","Hanoi"] println cities[0] def airports = [SGN:"Ho Chi Minh City", CDG:"Paris"] println airports.SGN
  10. 10. Ranges List<String> alphabet = new ArrayList<String>(); for(int i=0;i<26;i++) { alphabet.add(Character.toChars(i+97)); } def alphabet = "a".."z"
  11. 11. GString System.out.println("Hello " + user.name); println "Hello ${user.name}"
  12. 12. Groovy Scripts public class Script1 { public static void main(String[] args){ String greeting = "Hello " + args[0]; System.out.println(greeting); } } greeting = "Hello ${args[0]}" println greeting
  13. 13. POGOs public class City { private String name; public String getName() { return this.name; } public String setName(String name) { this.name = name; } } System.out.println(new City("HCMC").getName()); class City { String name } println new City(name: "HCMC").name
  14. 14. Compare objects a.equals(b); a.compareTo(b); a == b a < b
  15. 15. Default parameters public class Trip { public Trip(String source, String dest, String type) { if (type == null) this.type = "Car"; } } new Trip("HCMC", "Vung Tau", null); class Trip { Trip(String source, String dest, String type = "Car") { this.type = type; } } new Trip("HCMC", "Vung Tau")
  16. 16. Closures List result = new ArrayList(); for(city in city) { if (city.startsWith("H") result.add(city) } cities.findAll { it.startsWith("H") }
  17. 17. Closures (cont.) ​class City { String name } def cities = [ new City(name: "Mui Ne"), new City(name: "Hanoi") ] cities.collect { it.name + ", VN" } == [ "Mui Ne, VN", "Hanoi, VN" ] cities.any { it.name.indexOf(" ") != -1 } == true cities.every { it.name.indexOf(" ") == -1 } == false cities.find { it.name.startsWith("H") }.name == "Hanoi"
  18. 18. The End More on Groovy: Book: (I didn't write it!) Slides: Interactive: PDF: Thank you! Free: Groovy User Guide Groovy Recipes: Greasing the Wheels of Java Online compiler/runner http://slides.com/hroussel https://www.slideshare.net/hroussel Hervé Vũ Roussel http://herveroussel.com
  19. 19. Groovify your Java CodeA guide to Groovy syntax for Java coders By Hervé Vũ Roussel for Agile Vietnam Coding Dojo 2014 Interactive slides at: https://slides.com/hroussel/groovify-your-java-code Groovify your Java code Edit deck title & description a day ago 0 68 Hervé Roussel http://www.herveroussel.com hvroussel 0 Tweet 0 0 Like We were unable to load Disqus. If you are a moderator please see our troubleshooting guide 0 Comments Slides Disqus Faceb Twitte Googl Login Newest Oldest Sort by Best Best Share Share this discussion on Start the discussion…

×