专栏首页技术进阶之路IDEA 你不知道小技巧——后缀法自动生成代码(Postfix Completion)

IDEA 你不知道小技巧——后缀法自动生成代码(Postfix Completion)

Postfix Completion 是 IDEA 中的后缀表示法,什么意思呢?

其实就是你在书写完一段语句之后再加上一个.然后输入指定的字符回车,IDEA 就会自动帮你生成代码。

首先我们准备一个工程 demo01:

项目结构如图,其中 User 就是一个普通的实体类。


下面编写代码,分类介绍:

一、变量创建

首先是变量创建的快捷方式:

在变量后面输入 .var 然后回车即可快速创建一个局部变量。

OK 掌握了方法之后下面我们直接介绍其它的后缀表达式:

// 创建局部变量 User().var
User user = new User();
// 创建全局变量 User().field
Main.user = new User();
// 创建对象 User.new
new User();
// 类型强转 Object().cast
(User) new Object();
// 类型强转 + 变量创建 Object().castvar
User user2 = (User) new Object();

另外我们常用的类型强转可以使用 .cast替代,会使我们写代码的速度提高很多。

二、类型判断

首先介绍判断是否为空的:

.null 直接生成这个:

// user.null
if (user == null) {

}

.notnull 等价于 .nn生成这个:

// user.notnull
// user.nn
if (user != null) {
            
}

另外如果变量是布尔类型的:

Boolean flag = true;

可以使用 .if.while快速生成:

// flag.if
if (flag) {
            
}

// flag.while
while (flag) {
            
}

三、输出和返回

如果我想输出一个变量,使用.sout

// flag.sout
System.out.println(flag);

我想设置方法的返回值,使用.return

// flag.return
return flag;

四、循环

先定义一个数组:

String[] users = new String[5];

如果我想使用 for 循环遍历它,使用.fori

// users.fori
for (int i = 0; i < users.length; i++) {
            
}

同样的道理,增强 for 循环可以使用 .for

// users.for
for (String s : users) {
            
}

还有.forr 表示逆向遍历:

// users.forr
for (int i = users.length - 1; i >= 0; i--) {
            
}

五、异常

捕捉异常,相信你已经猜到了,对就是try,都是语义化的:

// main().try
try {
     main();
} catch (Exception e) {
     e.printStackTrace();
}

六、自定义

在设置里面找到下图位置:

可以看到之前介绍的所有的模板都在这里声明了,如果你想修改或者自定义添加都可以在这里完成。


这些功能如果你没用过可能刚开始会比较笨拙,所以自己平时可以多用一用,熟练了真的提高不少效率。

另外 IDEA 还有非常多的功能,感兴趣的小伙伴可以参考官方文档学习一下。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 绘制科赫雪花的简单实现

    wsuo
  • Java 动态代理

    JDK 实现的动态代理主要是通过 java.lang.reflect 包下的 Proxy 类实现的。

    wsuo
  • SpringCloud Sleuth 分布式请求链路追踪

    所以就有了 Spring Cloud Sleuth ,并且提供了一套完整的服务跟踪的解决方案。

    wsuo
  • 【leetcode刷题】T75-字符串中的单词数

    设置变量flag标记是否为连续非空格字符,当遇到空格,则改为false;遇到非空格且flag==false,计数加1,flag改为true。

    木又AI帮
  • LeetCode 725. 分隔链表

    给定一个头结点为 root 的链表, 编写一个函数以将链表分隔为 k 个连续的部分。

    Michael阿明
  • 【链表问题】打卡8:复制含有随机指针节点的链表

    以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢。

    帅地
  • 让你的Python提速30%!(下)

    现在进入有趣的部分。让我们帮您的Python程序运行得更快。我(基本上)不会向您展示一些能够神奇地解决性能问题的黑客、技巧和代码片段。这更多的是关于一般的想法和...

    AiTechYun
  • 使用 python 快速搭建http服务 传输服务,下载服务器资源

    python2 使用 python -m SimpleHTTPServer 快速搭建http服务 python3 使用 python -m httpserv...

    98k
  • Python3 selenium 实现QQ群接龙自动化功能

    环境配置为安装了 selenium 模块的 Python3 ,以及浏览器对应的driver 如果没有安装 selenium ,可以在控制台执行下面的代码

    砸漏
  • iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程

            众所周知,绚丽动画效果是iOS系统的一大特点,通过UIView层封装的动画,基本已经可以满足我们应用开发的所有需求,但若需要更加自由的控制动画的...

    珲少

扫码关注云+社区

领取腾讯云代金券