Используя ExpandoMetaclass в отличном результате печати и нулевом значении также

Пример прогы, когда я пытаюсь запустить с использованием техники расширенного класса, он дает мне два результата: один желаемый результат, второй - "ноль" в качестве выхода, откуда берется ноль?

class testA {

    static  def X(def var) {
        Y(var)
    }

    static def Y(def var) {
        println var
    }
}
testA.metaClass.static.newMethod = {z_var -> X(z_var) }
println testA.newMethod("anish")

выход:

anish
**null**

почему эта программа также печатает ноль в качестве вывода

1 ответ

Решение

null это возвращаемое значение из newMethod, Если вы не хотите, чтобы это печаталось, удалите println от вашей линии

println testA.newMethod("anish")
Другие вопросы по тегам