of new dynamic language for Java PlaOorm July 2009 “I can honestly say if someone had shown me the Programming in Scala book back in 2003 I’d probably never created Groovy” h0p://radio-‐weblogs.com/0112098/2003/08/29.html
strings, int length) {! List result = new ArrayList();! for (String s: strings) {! if (s.length() <= length) {! result.add(s);! }! }! return result;! }! ! public static void main(String[] args) {! List names = new ArrayList();! names.add("Вася"); names.add("Коля");! names.add("Петя"); names.add("Фёдор");! System.out.println(names);! Erase e = new Erase();! List shortNames = e.removeLongerThan(names, 4);! System.out.println(shortNames.size());! for (String s: shortNames) {! System.out.println(s);! }! }! }! Java == Groovy
List result = new ArrayList()! for (String s: strings) {! if (s.length() <= length) {! result.add(s)! }! }! return result! }! ! public static void main(String[] args) {! List names = new ArrayList()! names.add("Вася") names.add("Коля") ! names.add("Петя") names.add("Фёдор") ! System.out.println(names)! Erase e = new Erase()! List shortNames = e.removeLongerThan(names, 4)! System.out.println(shortNames.size())! for (String s: shortNames) {! System.out.println(s)! }! }! }! Динамическая типизация Не надо определять класс и main() length и size
! foo.hello()! groovy.lang.MissingMethodExcep^on: No signature of method: Foo.hello() is applicable for argument types: () values: [] Possible solu•ons: sleep(long), sleep(long, groovy.lang.Closure), each(groovy.lang.Closure), split(groovy.lang.Closure), getAt(java.lang.String), wait()