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. 读 Real-Time Rendering 收获 - chapter 4. transform

    chapter 4. Transform p54 affine transform p57 all rotation matrices have a determinant of one and ar ...

  2. 浅谈Android和IOS系统的差异

    总结:事件响应级别.GPU加速.进程前后台.代码运行速度.内存管理机制. 进程管理机制.内存管理机制.cpu效率.GPU加速.事件响应级别. 1.    渲染机制不同 IOS的UI渲染采用实时优先级, ...

  3. ActiveMQ学习笔记(9)----ActiveMQ静态网络连接

    1. 启动多个Broker 在win10下同一台服务器启动多个Broker, 步骤如下: 1. 复制安装目录下的conf文件夹命名为conf2 2. 修改activemq.xml中的brokerNam ...

  4. 移动端的vue项目,启动错误:Module build failed: Error: No PostCSS Config found in:

    新建一个postcss.config.js 写上下面代码 `module.exports = { plugins: { 'autoprefixer': {browsers: 'last 5 versi ...

  5. 正则效验url

    上篇文章讲到多主题的解决方案:简单暴力的TP5多主题方案 为了简化配置,所以将域名前的协议 http/https 截取了. 后台配置时就需要效验配置的格式是否正确,需要用到的正则代码如下: /*** ...

  6. [UVa10188]Automated Judge Script

    题目大意:叫你写一个判断答案的系统. 解题思路:模拟即可.AC条件为,答案条数相等,所有字符相等.PE条件为,答案条数可能不等,所有数字字符相等.其他为WA. UVa现在的C++已经不支持gets了, ...

  7. redis搭建与安装

    redis提供五种数据类型:string,hash,list,set及zset(sorted set). 第一部分:安装redis 希望将redis安装到此目录 1 /usr/local/redis ...

  8. ubuntu 装tensorflow出现 conda install ERROR missing write permission错误

    通过搜索tensorflow然后运行,例如:$ conda install --channel https://conda.anaconda.org/jjh_cio_testing tensorflo ...

  9. C#-反射知识点

    1.反射是基于Sytem.Type的,里面的很多方法是system.reflection里面的 MethodInfo[] tt= t.GetType().GetMethods(); //t是strin ...

  10. POJ——T3259 Wormholes

    http://poj.org/problem?id=3259 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 50692   ...