你知道怎么用Idea抽取方法、创建class吗?

2025-11-13 20:46:09

1、先来一段需要重构的代码:

package chapter4;import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

/**

* Created by MyWorld on 2016/3/21.

*/

public class RefactorOperate {

   public static void main(String[] args) {

       List<String> seasonList = new ArrayList<String>(Arrays.asList("Spring", "Summer", "Autumn", "Winter"));

       for (String season : seasonList) {

           System.out.println(season);

       }

       seasonList.add("Spring Rain");

       seasonList.add("vernal equinox");

       System.out.println("======================");

       for (String season : seasonList) {

           System.out.println(season);

       }

   }

}

你知道怎么用Idea抽取方法、创建class吗?

2、先把重复的代码中负责打印操作的代码提到一个方法中

操作:

如下截图所示,选中需要提取的代码

同时Ctrl+Alt+m

在弹出的对话框中,填入将要新生成的方法的名字,此处我们取的方法名是print

最后点“确定”

你知道怎么用Idea抽取方法、创建class吗?

3、现在马上就可以看到 IDEA的一个方便、强大的功能了

从自动检测出类似代码,并提示出来

"IDEA has detected 1 code fragment in this file that can be replaced with a call  to extracted method. would you like to review and replace it "

此处我们选“Yes”

你知道怎么用Idea抽取方法、创建class吗?

4、看看抽取方法后,现在代码的情况:

package chapter4;import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

/**

* Created by MyWorld on 2016/3/21.

*/

public class RefactorOperate {

   public static void main(String[] args) {

       List<String> seasonList = new ArrayList<String>(Arrays.asList("Spring", "Summer", "Autumn", "Winter"));

       print(seasonList);

       seasonList.add("Spring Rain");

       seasonList.add("vernal equinox");

       System.out.println("======================");

       print(seasonList);

   }    private static void print(List<String> seasonList) {

       for (String season : seasonList) {

           System.out.println(season);

       }

   }

}

你知道怎么用Idea抽取方法、创建class吗?

5、输入“StringUtils utils=new StringUtils();”

IDEA肯定会提示编译不过。肯定不过了,因为Project中根本没有这个class

把鼠标放在报错代码上,同时按“Alt + Enter”

在弹出的菜单中选中“Create Class 'StringUtils'”

然后回车(当然,使用鼠标直接点击也可以)

你知道怎么用Idea抽取方法、创建class吗?

6、在弹出的“Create Class StringUtils”对话框中,确认下Destination Package的位置

此处,我们就话在这个package下,直接点“OK”

新Class StringUtils就创建完成了!!

你知道怎么用Idea抽取方法、创建class吗?

你知道怎么用Idea抽取方法、创建class吗?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢