gpt4 book ai didi

Java 运算符 ? :

转载 作者:行者123 更新时间:2023-12-01 07:05:18 24 4
gpt4 key购买 nike

如何更改

if(xmlComboBoxValues.get(0) == null){
cstmt.setNull(i++,java.sql.Types.NVARCHAR);
}
else {
cstmt.setString(i++, (String) xmlComboBoxValues.get(0));
}

作为一个? : 用java表达?

这是我所拥有的,但语法显然是错误的。

xmlComboBoxValues.get(0) == (null) ? cstmt.setNull(i++,java.sql.Types.NVARCHAR) : cstmt.setNull(i++,java.sql.Types.NVARCHAR);

最佳答案

您不能这样做有两个原因:

  • 这些方法具有 void 返回类型
  • 不能将条件表达式用作语句

这些都是同一原因的症状:您滥用了运算符。运算符的目的是选择两个表达式中的哪一个用作整个表达式的结果...然后将其用于其他用途。计算表达式与执行语句的目的略有不同。

您的原始代码已经是惯用的:如果条件为真,您想要执行一个语句。否则,您想要执行不同的语句。非常适合 if/else

关于Java 运算符 ? :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26729238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com