@ExtensionMethod
向现有类型中添加方法
用于向现有类型(类)中添加方法。通过 @ExtensionMethod 注解,我们可以在不修改现有类的情况下,为该类添加新的方法。
1、如何使用
- 注解在需要扩展新方法的地方。
2、代码示例
例:
@ExtensionMethod({StringExtension.class})
public class Extension {
public static void main(String[] args) {
String str = "Hello, world!";
System.out.println(str.reverse());
}
}
public class StringExtension {
public static String reverse(String str) {
return new StringBuilder(str).reverse().toString();
}
}
编译后:通过编译后的代码可以看出,真正调用的还是StringExtension中的reverse方法,但是编码过程中达到了一种好像扩展了String的形式。
public class Extension {
public Extension() {
}
public static void main(String[] args) {
String str = "Hello, world!";
System.out.println(StringExtension.reverse(str));
}
}