Java:是否支持宏?

2022-09-02 19:17:44

我只是好奇人们如何解决这个问题。我经常一直写相同类型的代码。例如:

new Thread() {
   //...
   //...
   //...
   //Change this line
   //...
   //...
}.start();

我不断更改显示“更改此行”的行,然后启动线程。此更改可以是一行或几行。我该如何压缩此代码?


答案 1

好吧,我想你可以通过C预处理器运行你的java文件......


答案 2

可以使用模板模式创建包含公共代码的基类。例如:

public abstract class ThreadTemplate extends Thread
{

    public void run() {
        //reusable stuff
        doInThread();
        //more resusable stuff
    }

    abstract void doInThread();

}

然后,使用样板代码启动线程就像这样简单:

new ThreadTemplate{
   void doInThread() {
       // do something
   }
}.start();

此外,为了节省一些打字,一个不太优雅的解决方案是使用ide的模板功能。您可以在此处找到有关在Eclipse中设置它们的一些信息,并且可以在有用的Eclipse Java代码模板中找到有用的列表


推荐