Ниже приведены различия между Groovy и Beanshell
Я бы предпочел groovy для моей разработки, так как он служит моей цели, в которой он может выполнить скрипт, написанный на beanshell.
В любом случае ниже приведены наблюдения, которые я обнаружил, когда оценил Groovy 2.0.0 против Beanshell 2.0b4
Оба этих языка сценариев имеют синтаксис, аналогичный Java.
Groovy
- Groovy движок может запускать скрипт, написанный для бобовой оболочки
- Среда выполнения - Java 1.5. разработан на JDK1.5
Поддерживает дженерики и коллекции с дженериками. Также поддерживает сырые типы
например> ArrayList str = new ArrayList ()
Поддерживает вызов методов с переменными аргументами
например. метод (int ... i)
- Поддерживает примитивные типы данных, такие как int, для назначения 4-байтовых шестнадцатеричных значений
например. int i = 0x80018000;
- Синтаксис для инициализации массива немного отличается от Java
например. В java массив инициализируется как int [] array = {1,2,3};
В groovy это делается как int [] array = [1,2,3];
- Подставки для петель и для каждой петли и т. Д.
BeanShell
- Beanshell не может запустить скрипт, написанный для groovy, так как он основан на JDK1.4. так что нет общих признаков
- Среда выполнения - 1.4 или более, но не поддерживает обобщенные значения
- Не поддерживает генерики. поддерживаются только необработанные типы
- Не поддерживает написание метода с переменными аргументами или вызов метода с переменными аргументами
Не поддерживает передачу определенных шестнадцатеричных значений примитивным типам данных.
например, int i = 0x80018000 выдает исключение из интерпретатора BeanShell, говорящее, что размер большой
В этом случае следует использовать BigInteger, что опять же утомительно, так как мы должны сделать что-то подобное
BigInteger i = новый BigInteger ("0x80018000");
This problem occurs even if we declare long i = 0x80018000
- Синтаксис для инициализации массива аналогичен java.
- Подставки для петель и для каждой петли и т. Д.