如何 replace/substitute 任何重复出现的 class 或 Java 中具有更短或更简单字符串的方法名称
How to replace/substitute any recurring class or method name with shorter or simpler string in Java
好的,所以我想做的是为一长串重复出现的 class 或对象名称分配一个备用名称。例如
public class Example
{
public static void main(String[] args)
{
Hello k= new Hello();
k.HelloWorld();
}
}
class Hello
{
public void HelloWorld()
{
System.out.println("Hello World");
}
}
所以我想在这里发生的是我想保持方法的名称 "HelloWorld" 不变,但我想使用 "HW"(说),这样我就可以写
k.HW();
无需添加超过 2 行代码即可调用 "HelloWorld"。
我知道这很琐碎,但我只是好奇,想知道是否可行。
在编译时,调用的方法必须与现有方法的确切名称相匹配。
所以你必须写:
Hello k= new Hello();
k.HelloWorld();
保留有意义的名称很重要。
现在现代 IDE 可以帮助您。
你可以写类似的东西,然后自动补全机制可能会帮助你提出匹配方法。
例如,对于 Eclipse,输入:
k.hw
+ ctrl space
(默认自动完成键),Eclipse 将搜索 Hello
class 中以 h
(大写或小写)开头的方法) 然后有一个 W
大写字符。
所以它会提出这个方法 (HelloWorld()
),你只需要 select 它就可以完成方法调用的代码。
无论您使用的 IDE 是什么,都存在限制。
有像 Lombok (https://projectlombok.org) 这样的工具可以让您停止在 类 上编写 getters 和 setters 方法,因此,您的 POJO 会变小,但随后您可以从任何地方调用任何 getter 或 setter。
但那是 IDE 修改。
如果您想在运行时执行此操作,您可以使用反射和 Javassist 来完成。
Javassist 允许您在运行时创建和修改 类,您可以以编程方式添加 HW() 方法,然后使用 Reflection (Method.invoke())
调用它
好的,所以我想做的是为一长串重复出现的 class 或对象名称分配一个备用名称。例如
public class Example
{
public static void main(String[] args)
{
Hello k= new Hello();
k.HelloWorld();
}
}
class Hello
{
public void HelloWorld()
{
System.out.println("Hello World");
}
}
所以我想在这里发生的是我想保持方法的名称 "HelloWorld" 不变,但我想使用 "HW"(说),这样我就可以写
k.HW();
无需添加超过 2 行代码即可调用 "HelloWorld"。
我知道这很琐碎,但我只是好奇,想知道是否可行。
在编译时,调用的方法必须与现有方法的确切名称相匹配。
所以你必须写:
Hello k= new Hello();
k.HelloWorld();
保留有意义的名称很重要。
现在现代 IDE 可以帮助您。
你可以写类似的东西,然后自动补全机制可能会帮助你提出匹配方法。
例如,对于 Eclipse,输入:
k.hw
+ ctrl space
(默认自动完成键),Eclipse 将搜索 Hello
class 中以 h
(大写或小写)开头的方法) 然后有一个 W
大写字符。
所以它会提出这个方法 (HelloWorld()
),你只需要 select 它就可以完成方法调用的代码。
无论您使用的 IDE 是什么,都存在限制。
有像 Lombok (https://projectlombok.org) 这样的工具可以让您停止在 类 上编写 getters 和 setters 方法,因此,您的 POJO 会变小,但随后您可以从任何地方调用任何 getter 或 setter。
但那是 IDE 修改。
如果您想在运行时执行此操作,您可以使用反射和 Javassist 来完成。
Javassist 允许您在运行时创建和修改 类,您可以以编程方式添加 HW() 方法,然后使用 Reflection (Method.invoke())
调用它