java - 三元运算符不是一个语句

标签 java intellij-idea ternary-operator

我有以下三元表达式:

((!f.exists()) ? (f.createNewFile() ? printFile() : throw new Exception("Error in creating file")) : printFile());

出于一个或多个原因,我不知道IDE对我说这不是一个声明。为什么?

最佳答案

这无效,您需要返回一个值

printFile() : throw new Exception("Error in creating file")

试试这个

if(f.exists() || f.createNewFile()) {
  printFile();
}else{
  throw new Exception("Error in creating file");
}

关于java - 三元运算符不是一个语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31582570/

相关文章:

java - 如何连接Ui信息和域信息

java - 用于 Android 开发的 IntelliJ IDEA IDE

intellij-idea - intellij 换行并签名

intellij-idea - Karma 没有选择更改,必须运行两次测试

Python - 在条件下调用函数

java - 我不明白 advanced-For-Loop 是如何工作的

java - 处理带有工作日的 Java 日历的最佳方式?

java - 仅存储 24 小时变量值

java - 将图标添加到菜单项

c++ - 您对这个 C++ 表达式有什么期望?