简化java if语句

Ond*_*lar 2 java if-statement verbosity

如果构造,我可以简化这个java吗?对我来说似乎太冗长了,我想让它更短.

A是持久性Object,如果第一次访问它的上下文,它将为null.比A是instatniated和给定内容,如果失败,一些备份内容给A.

if (A == null) {
    A = staticGetMethod();
    if (A == null) A = new BackupAContent() { ... };
}
Run Code Online (Sandbox Code Playgroud)

Cha*_*win 5

更新:或者您可以简单地删除嵌套,因为它仍然会以相同的方式运行.

if (A == null) {
    A = staticGetMethod();
}
if (A == null) {
    new BackupAContent() { ... };
}
Run Code Online (Sandbox Code Playgroud)

应该管用:

if (A == null && (A = staticGetMethod()) == null) {
    new BackupAContent() { ... };
}
Run Code Online (Sandbox Code Playgroud)

  • 会工作,但它是可怕的代码 - 请不要把任务放在这样的陈述中间! (4认同)