是否有允许if(对象)的Java编译器选项?

是否有允许if(对象)的Java编译器选项?,java,compiler-options,Java,Compiler Options,我希望能够键入如下内容: if (object) { // some code... } 并让编译器将其视为: if (object != null) { // some code... } 我有什么办法可以做到这一点吗? 或者:在Eclipse或IntelliJ中有什么可以做到这一点的吗?在IntelliJ中按ctrl+j,然后键入:inn,瞧: if (args != null) { } 顺便说一句,这被称为a没有任何编译器设置可用于获取此行为。我不认为你能用代码生成

我希望能够键入如下内容:

if (object) {
    // some code...
}
并让编译器将其视为:

if (object != null) {
    // some code...
}
我有什么办法可以做到这一点吗?


或者:在Eclipse或IntelliJ中有什么可以做到这一点的吗?

在IntelliJ中按ctrl+j,然后键入:
inn
,瞧:

if (args != null) {

}

顺便说一句,这被称为a

没有任何编译器设置可用于获取此行为。我不认为你能用代码生成器(类似的东西)优雅地完成这项工作,因为你也不能真正地注释语句

另一种方法是对
if(args!=null)
if(args==null)
使用IntelliJ

  • ifn
    扩展为
    if(args==null)
  • inn
    扩展为
    if(args!=null)

或者:在Eclipse或IntelliJ中有什么可以做到这一点的吗?这应该可以作为一种快捷方式,比如
sout
fori
等等。@BenC.R.Leggiero只是好奇为什么要这样做?在IntelliJ中,您可以创建一个活动模板,这是
sout
类似事物的IntelliJ名称。当整个团队都使用它时,您的IDE会悄悄地替换
布尔b;如果(b){}
带有
布尔b;如果(b!=null){}
(是的,不能完全使用LiveTemplates,但仍然)我相信您没有抓住要点。OP不是在寻找IDE快捷方式,而是一个编译器选项,它允许
if(object)
,其中object不是
布尔值。这是作者在第一条评论中指定的一个替代方案——“或者:在Eclipse或IntelliJ中有什么可以做到这一点的吗?”——“我的错”。为了避免混淆,我编辑了问题并添加了评论。我相信你没有抓住要点。OP并不是在寻找IDE快捷方式,而是一个编译器选项,允许在对象不是IDE快捷方式的情况下使用if(object)boolean@ChetanKinger尽管你只看问题是正确的,但不要忽略我的评论@BenC.R.Leggiero:请不要在评论中留下问题的重要部分。它们更难看。@MichaelMyers我通常不知道,但自从在一个问题中包含一些元信息,并被告知在评论中留下这些信息后,我一直在努力寻找线索。@BenC.R.Leggiero:我知道了。一个很好的经验法则是,如果你没有注释就无法理解问题(在本例中,注释会影响答案),那么注释应该是问题的一部分。