Есть ли в Groovy методы расширения, как в С#? Могу ли я добавить метод в окончательный класс как в С#? Так что я мог бы сделать что-то вроде: "Some text".myOwnFunction(); Вместо: MyStaticClass.myOwnFunction("Some text"); Ответ 1 Вы можете добавить его во все будущие строковые экземпляры через метакласс String.metaClass.myOwnFunction = {-> delegate.length() } assert "Tim".myOwnFunction() == 3 Или вы можете добавить его в один экземпляр String a = "Tim" a.metaClass.myOwnFunction = {-> delegate.length() } assert a.myOwnFunction() == 3 Или вы можете добавить эти методы, когда jar находится в пути к классам при запуске с модулями расширения
Ответ 1 Вы можете добавить его во все будущие строковые экземпляры через метакласс String.metaClass.myOwnFunction = {-> delegate.length() } assert "Tim".myOwnFunction() == 3 Или вы можете добавить его в один экземпляр String a = "Tim" a.metaClass.myOwnFunction = {-> delegate.length() } assert a.myOwnFunction() == 3 Или вы можете добавить эти методы, когда jar находится в пути к классам при запуске с модулями расширения