Это разумный способ конвертации?
Да
Могу ли я сохранить все свои открытые методы и поля в Java? Groovy - это просто суперсет, верно?
Почти суперсет, но не совсем. Например, ==
в Groovy вызывает метод .equals
, но в Java он проверяет, ссылаются ли 2 ссылки на один и тот же объект. Другой пример - Groovy не поддерживает этот синтаксис для построения массивов
Object[] objs = new Object[] { 1, 2, 4 }
Последний пример: при вызове перегруженного метода Groovy использует тип параметров времени выполнения при выборе метода для вызова, тогда как Java использует типы параметров времени компиляции. Эта страница содержит довольно полный список различий между двумя языками.
Что бы вы не делали в Groovy, но вместо этого предпочли бы Java?
Я пишу все на Groovy, потому что я работаю с Groovy гораздо более продуктивно, чем Java, и мне гораздо больше нравится программирование на Groovy. Я использовал бы только Java, если бы была проблема с производительностью какого-то кода И . Я мог продемонстрировать, что написание его на Java решило проблему. На практике такого никогда не случалось со мной.
Также могут быть социально-политические причины использования Java, например, некоторые люди должны поддерживать некоторый код, некоторые из которых не знают Groovy и не хотят его изучать.