Intellij Idea使用教程汇总篇

问题:有时候一个方法里面嵌套了很多逻辑,想拆分为多个方法方便调用;或者一个方法复用性很高,这时,这个方法嵌套在局部方法里面肯定是不方便的,如何快速抽取出这个方法?

  1. public class Demo {
  2. private static void getInfo(Object obj) {
  3. Class<?> clazz = obj.getClass();
  4. Method[] methods = clazz.getMethods();
  5. for (Method method : methods) {
  6. String name = method.getName();
  7. Class<?> returnType = method.getReturnType();
  8. Class<?>[] parameterTypes = method.getParameterTypes();
  9. }
  10. //-----------------------------我即将抽取的-------------------------//
  11. Field[] declaredFields = clazz.getDeclaredFields();
  12. for (Field field : declaredFields) {
  13. String name = field.getName();
  14. Class c1 = field.getType();
  15. String type = c1.getName();
  16. }
  17. //------------------------------我即将抽取的------------------------//
  18. }
  19. }
public class Demo {
private static void getInfo(Object obj) {
Class<?> clazz = obj.getClass();
Method[] methods = clazz.getMethods();
for (Method method : methods) {
String name = method.getName();
Class<?> returnType = method.getReturnType();
Class<?>[] parameterTypes = method.getParameterTypes();
}
    //-----------------------------我即将抽取的-------------------------//
Field[] declaredFields = clazz.getDeclaredFields();
for (Field field : declaredFields) {
String name = field.getName();
Class c1 = field.getType();
String type = c1.getName();
}
//------------------------------我即将抽取的------------------------//
}

}

选中我即将抽取的代码,按快捷键Ctrl + Alt + M 即可,或者  鼠标右击 》Refactor 》Extract 》Method 出现如下

抽取后自动生成代码如下,后续此方法就可以方便的被调用了

  1. public class Demo {  
  2.     private static void getInfo(Object obj) {  
  3.         Class<?> clazz = obj.getClass();  
  4.         Method[] methods = clazz.getMethods();  
  5.         for (Method method : methods) {  
  6.             String name = method.getName();  
  7.             Class<?> returnType = method.getReturnType();  
  8.             Class<?>[] parameterTypes = method.getParameterTypes();  
  9.         }  
  10.   
  11.         //-----------------------------我即将抽取的-------------------------//  
  12.         commonDeal(clazz);  
  13.         //------------------------------我即将抽取的------------------------//  
  14.     }  
  15.   
  16.     private static void commonDeal(Class<?> clazz) {  
  17.         Field[] declaredFields = clazz.getDeclaredFields();  
  18.         for (Field field : declaredFields) {  
  19.             String name = field.getName();  
  20.             Class c1 = field.getType();  
  21.             String type = c1.getName();  
  22.         }  
  23.     }  
  24.   
  25. }  
public class Demo {

private static void getInfo(Object obj) {

Class<?> clazz = obj.getClass();

Method[] methods = clazz.getMethods();

for (Method method : methods) {

String name = method.getName();

Class<?> returnType = method.getReturnType();

Class<?>[] parameterTypes = method.getParameterTypes();

}
    //-----------------------------我即将抽取的-------------------------//
commonDeal(clazz);
//------------------------------我即将抽取的------------------------//
} private static void commonDeal(Class&lt;?&gt; clazz) {
Field[] declaredFields = clazz.getDeclaredFields();
for (Field field : declaredFields) {
String name = field.getName();
Class c1 = field.getType();
String type = c1.getName();
}
}

}

对应的还有变量的抽取、常量的抽取等,看下图,这是鼠标右击 》Refactor 》Extract 操作后出现的效果,里面包含很多的抽取:

intellij idea中快速抽取方法的更多相关文章

  1. IntelliJ IDEA中怎么查看方法说明?

    View→Quick Documentation 查看当前配置的快捷键(例如Ctrl + Q) 在光标所在的方法上按下快捷键就可以看到方法的说明 下图为在View菜单中查看当前配置的快捷键截图: 下图 ...

  2. Visual Studio 中快速创建方法 Generate a method in Visual Studio

    2020-04-04 https://docs.microsoft.com/en-us/visualstudio/ide/reference/generate-method?view=vs-2019 ...

  3. 如何在IntelliJ IDEA中快速配置Tomcat

    近来使用idea编写java代码的人越来越多,最关键的就是idea强大的代码提示功能,能极高的提升程序员的开发效率,但是毕竟各有所长,idea中tomcat的配置就没有eclipse那么轻松,这里简单 ...

  4. DELPHI 数据集在内存中快速查询方法

    1.Bookmark var p:pointer; procedure TForm1.Button1Click(Sender: TObject);//加个标签 begin   p:=cxGrid1DB ...

  5. linux中快速清空文件内容的几种方法

    这篇文章主要介绍了linux中快速清空文件内容的几种方法,需要的朋友可以参考下 $ : > filename $ > filename $ echo "" > f ...

  6. MySQL中快速复制数据表方法汇总

    本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: ...

  7. 在eclispe的类中快速打出main方法

    在java类中快速打出main方法有两种途径: 1. 在新建类时,在New Java Class窗口中,将public static void main ( String[ ] args ) 前面打上 ...

  8. IntelliJ IDEA 中自动生成 serialVersionUID 的方法

    as, idea plugin中搜如下关键字,并安装该插件: GenerateSerialVersionUID 如上图所示,创建一个类并实现Serializable接口,然后按alt+Enter键,即 ...

  9. 二十二、详述 IntelliJ IDEA 中恢复代码的方法

    在咱们正常开发项目的时候,难免遇到在开发过程中由于某种原因,想要将代码恢复到前一版本的情景.特别是在咱们删除了某些代码,想要恢复之前删除的代码的时候,了解这个在 IntelliJ IDEA 中恢复代码 ...

随机推荐

  1. 【原创】Apache集群报Service Temporarily Unavailable的解决

    Apache的集群突然时不时的报出以下错误: Service Temporarily Unavailable The server is temporarily unable to service y ...

  2. layui计算剩余时间

    <div id="test"></div> <script> layui.use('util', function(){ var util = ...

  3. ztree连接数据库,实现下拉菜单

    $(document).ready(function(){ var treeObj = $("#treeDemo"); $.fn.zTree.init(treeObj, setti ...

  4. 捕捉soap的xml形式

    下面是我以前对Php的soap接口进行抓包分析出的结果,这个分析在当服务端或者客户端的Php没有安装soap模块时,可以使用构建xml的方式实现相同的功能 服务端: $data = $HTTP_RAW ...

  5. 支持JSONP跨域的对象

    支持JSONP跨域的对象 1:img 2:iframe 3:link 4:script 为什么,JSONP 最终选择是 script 实现呢?度娘来也! 平常我们进行JSONP请求数据,因为 json ...

  6. Mybaties下的分页功能的实现

    jsp页面 <!-- 页码 --> <div class="ipRListNav2"> <a href="zyxx.do?findZyxx& ...

  7. [React] Use React Fragments to make your DOM tree cleaner

    In this lesson, we will look at Fragments and how they are useful in achieving a cleaner DOM structu ...

  8. 转:iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)

    iosiOSIOS文档服务器测试电话 由于app内需要用到支付功能,选择了当前最流行的支付宝进行支付.在进行内嵌支付宝功能开发时,被它狠狠的耍了一把. 根据支付宝开发文档,参考demo代码.将相关支付 ...

  9. java 获取类路劲注意点

    在resin里用MyConstants.class.getResource("/").getPath(),这个方法时,获取到的路劲少[项目名称],最好用MyConstants.cl ...

  10. Android5.0以上系统的移动网络开关

    笔者近期遇到一个非常有意思的bug,贴出来和大家分享下. 那是一个温暖的早晨,阳光晒得人非常舒服.一封bug邮件像一片叶子飘到我的邮箱. 一番交流.笔者确认负责的Widget开关在Android5.0 ...