自從作 Java 開發以後,IDEA 編輯器是不可少的。java
在 IDEA 編輯器中,有不少高效的代碼補全功能,尤爲是 Postfix Completion 功能,能夠讓編寫代碼更加的流暢。express
Postfix completion 本質上也是代碼補全,它比 Live Templates 在使用上更加流暢一些,咱們能夠看一下下面的這張圖。編輯器
能夠經過以下的方法打開 Postfix 的設置界面,並開啓 Postfix。post
!
: Negates boolean expressionspa
//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'code
//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'.blog
//before public class Foo { void m(boolean b) { b.else } } //after public class Foo { void m(boolean b) { if (!b) { } } }
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.rem
//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++) { } } }
opt
: Creates Optional object.it
//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); } }
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; } }
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"; } }