Groovy "из коробки" заменяет большое количество общих классов на более подходящие версии или языковые конструкции, включая классы для XML, HTTP-запросов, доступа к базам данных SQL и регулярным выражениям. Для большинства задач сценариев вам вообще не придется использовать библиотеки Java (хотя у вас все еще будет эта опция). Но если ваш скрипт использует голые библиотеки Java, вы будете намного дальше с Groovy по сравнению с прямой Java. Где Groovy сияет в «клеевом» коде, например
настройка структур данных и файлового ввода-вывода.
Карта и список позволяют создавать совместимые с Java списки и карты; обычные объекты Java, которые работают с классами Java. Groovy часто превращает многострочный вызов метода Java с объявлениями переменных и инициализацией в однострочник.
Рассмотрим этот короткий фрагмент для загрузки всего файла в строку:
def fileContents = new File(filename).text
против
String fileContents = "";
try {
BufferedReader reader = new BufferedReader(new FileInputStream(filename));
String line = null;
while ((line = reader.readLine()) != null) {
text = text + line + "\n";
}
} catch (IOException e) {
e.printStackTrace();
}
Обработка исключений часто не является важным фактором в сценариях, и ее удобно игнорировать.
Основным преимуществом Groovy как языка сценариев является прямой и удобный доступ к огромной библиотеке кода Java. Если вам это не нужно, Groovy по-прежнему предоставляет среду сценариев, столь же богатую, как и другие языки, такие как perl, python или ruby.