我刚刚开始学习 Groovy,想知道是否可以为整数设置自己的属性。例如,
def a = 34.5.plus(34.34)
def b = 5.64.minus(3.43)
def c = 12.64.multiply(33.43)
上面有一些方法,例如plus
、minus
和multiply
如果我想为这样的整数定义一些我自己的方法该怎么办。
我搜索了Google
,但找不到太多相关信息。
最佳答案
当然,您可以将方法添加到 Integer
的元类中。
这是一个例子:
Integer.metaClass.zeds = { -> 'z' * delegate }
assert 3.zeds() == 'zzz'
如果您愿意,您还可以向单个整数实例添加方法,即:
Integer num = 4
num.metaClass.halved = { -> delegate / 2.0 }
assert num.halved() == 2.0
您还可以通过扩展方法向类添加方法,其中can be found over here有一个很好的解释
应该注意的是(正如您最初将这个问题标记为 Java 一样),显然,Java 代码将不知道这些事情,因为它不知道元类
关于Groovy - 设置您自己的整数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37461278/