Reputation: 981
Can I add to a method to a final class somehow like in C#?
So I could do something like:
"Some text".myOwnFunction();
Instead of:
MyStaticClass.myOwnFunction("Some text");
Upvotes: 22
Views: 6261
Reputation: 171144
You can either add it to all future string instances via the metaClass
String.metaClass.myOwnFunction = {-> delegate.length() }
assert "Tim".myOwnFunction() == 3
Or you can add it to a single instance
String a = "Tim"
a.metaClass.myOwnFunction = {-> delegate.length() }
assert a.myOwnFunction() == 3
Or you can add these methods when a jar is in the classpath at startup with extension modules
Upvotes: 26