IDEA巧用Postfix Completion让码速起飞(小技巧)

 更新时间:2020年08月25日 14:39:11   作者:白菜Java自习室  
这篇文章主要介绍了IDEA巧用Postfix Completion让码速起飞,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 情景展示

自从做 Java 开发之后,IDEA 编辑器是不可少的。 在 IDEA 编辑器中,有很多高效的代码补全功能,尤其是 Postfix Completion 功能,可以让编写代码更加的流畅。

Postfix completion 本质上也是代码补全,它比 Live Templates 在使用上更加流畅一些,我们可以看一下下面的这张图。

 

2. 设置界面

可以通过如下的方法打开 Postfix 的设置界面,并开启 Postfix。

 

3. 常用的 Postfix 模板

3.1. boolean 变量模板

!: Negates boolean expression

//before
public class Foo {
   void m(boolean b) {
     m(b!);
   }
 }
 
//after
public class Foo {
  void m(boolean b) {
    m(!b);
  }
}

if: Checks boolean expression to be 'true'

//before
public class Foo {
  void m(boolean b) {
    b.if
  }
}

//after
public class Foo {
  void m(boolean b) {
    if (b) {

    }
  }
}

else: Checks boolean expression to be 'false'.

//before
public class Foo {
  void m(boolean b) {
    b.else
  }
}

//after
public class Foo {
  void m(boolean b) {
    if (!b) {

    }
  }
}

3.2. array 变量模板

for: Iterates over enumerable collection.

//before
public class Foo {
  void m() {
    int[] values = {1, 2, 3};
    values.for
  }
}

//after
public class Foo {
  void m() {
    int[] values = {1, 2, 3};
    for (int value : values) {

    }
  }
}

fori: Iterates with index over collection.

//before
public class Foo {
  void m() {
    int foo = 100;
    foo.fori
  }
}

//after
public class Foo {
  void m() {
    int foo = 100;
    for (int i = 0; i < foo; i++) {

    }
  }
}

3.3. 基本类型模板

opt: Creates Optional object.

//before
public void m(int intValue, double doubleValue, long longValue, Object objValue) {
 intValue.opt
 doubleValue.opt
 longValue.opt
 objValue.opt
}

//after
public void m(int intValue, double doubleValue, long longValue, Object objValue) {
 OptionalInt.of(intValue)
 OptionalDouble.of(doubleValue)
 OptionalLong.of(longValue)
 Optional.ofNullable(objValue)
}

sout: Creates System.out.println call.

//before
public class Foo {
 void m(boolean b) {
  b.sout
 }
}

//after
public class Foo {
 void m(boolean b) {
   System.out.println(b);
 }
}

3.4. Object 模板

nn: Checks expression to be not-null.

//before
public class Foo {
  void m(Object o) {
    o.nn
  }
}
//after
public class Foo {
  void m(Object o) {
    if (o != null){

    }
  }
}

null: Checks expression to be null.

//before
public class Foo {
  void m(Object o) {
    o.null
  }
}
//after
public class Foo {
  void m(Object o) {
    if (o != null){

    }
  }
}

notnull: Checks expression to be not-null.

//before
public class Foo {
  void m(Object o) {
    o.notnull
  }
}
//after
public class Foo {
  void m(Object o) {
    if (o != null){

    }
  }
}

val: Introduces variable for expression.

//before
public class Foo {
  void m(Object o) {
    o instanceof String.var
  }
}

//after
public class Foo {
  void m(Object o) {
    boolean foo = o instanceof String;
  }
}

3.5. 其他模板

new: Inserts new call for the class.

//before
Foo.new

//after
new Foo()

return: Returns value from containing method.

//before
public class Foo {
  String m() {
    "result".return
  }
}
//after
public class Foo {
  String m() {
    return "result";
  }
}

到此这篇关于IDEA巧用Postfix Completion让码速起飞(小技巧)的文章就介绍到这了,更多相关IDEA Postfix Completion 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决springboot整合cxf启动报错,原因是版本问题

    解决springboot整合cxf启动报错,原因是版本问题

    这篇文章主要介绍了解决springboot整合cxf启动报错,原因是版本问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java map集合顺序如何同步添加顺序

    Java map集合顺序如何同步添加顺序

    这篇文章主要介绍了Java map集合顺序如何同步添加顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 关于JDK15的新特性之TextBlocks文本块的引入和使用

    关于JDK15的新特性之TextBlocks文本块的引入和使用

    这篇文章主要介绍了关于JDK15的新特性之文本块的引入和使用,如果具有一种语言学机制,可以比多行文字更直观地表示字符串,而且可以跨越多行,而且不会出现转义的视觉混乱,那么这将提高广泛Java类程序的可读性和可写性,需要的朋友可以参考下
    2023-07-07
  • 浅谈Servlet的Cookie和Session机制

    浅谈Servlet的Cookie和Session机制

    虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术.本文将详细讨论session以及cookie的工作机制,需要的朋友可以参考下
    2021-05-05
  • 详解IDEA中Debug的使用和进制转换问题

    详解IDEA中Debug的使用和进制转换问题

    这篇文章主要介绍了IDEA中Debug的使用和进制转换,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java扑克牌速算24的方法

    Java扑克牌速算24的方法

    这篇文章主要为大家详细介绍了Java扑克牌速算24的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • MyBatis-Plus 使用枚举自动关联注入

    MyBatis-Plus 使用枚举自动关联注入

    本文主要介绍了MyBatis-Plus 使用枚举自动关联注入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • 通过Java计算文件的MD5值实现方式

    通过Java计算文件的MD5值实现方式

    本文将详细介绍如何使用Java语言来计算文件的MD5值,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 分享java打印简单图形的实现代码

    分享java打印简单图形的实现代码

    这篇文章主要分享给大家运用java打印简单图形:三角形,菱形,四边形,需要的朋友可以参考下
    2015-07-07
  • Spring Boot异常处理问题小结

    Spring Boot异常处理问题小结

    在 Spring Boot 中,异常处理是一个重要的部分,可以允许开发者优雅地处理应用程序中可能发生的错误和异常,这篇文章主要介绍了Spring Boot异常处理问题小结,需要的朋友可以参考下
    2024-05-05

最新评论