为什么我使用?:条件运算符不正确?

Mat*_*uti 2 java

我在尝试编译时遇到编译错误,"不是声明",代码是:

(checkDatabaseExist())?connectToDB() : buildDB();
Run Code Online (Sandbox Code Playgroud)

当功能是:

private boolean checkDatabaseExist() {...}
private void connectToDB(){...}
private void buildDB(){...}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Jon*_*eet 5

是的,你不能像这样使用条件运算符.它旨在计算一个或另一个表达式.它不是一种选择一个语句来执行或另一个语句的方式.

只需使用:

if (checkDatabaseExist()) {
    connectToDB();
} else {
    buildDB();
}
Run Code Online (Sandbox Code Playgroud)