java - 我可以在字符串连接中使用条件三元运算符吗?

标签 java conditional-statements ternary-operator

我有以下疑问:我可以以某种方式使用条件三元运算符进行字符串连接吗?

我正在尝试做这样的事情:

String sql = "insert into TirConsolidatoPolizzaFondo "
                       + "(Polizzaid, FondoID, isQuadraturaOk, ReteVendita,  CodiceConferimento, PercentualeRendimentoDaInizioGestione, "
                       + "DataInizioGestione, PercentualeRendimentoDaInizioAnno, DataInizioAnno, PercentualeRendimentoDaInizioTrimestre, "
                       + "DataInizioTrimestre, DataCalcoloBF, ValoreNavBF, DataRiferimentoNavBF, ControvaloreFinaleBF, ValoreNavPUC, "
                       + "DataRiferimentoNavPUC, ControvaloreFinalePUC, NumeroQuotePUC, DeltaControvaloreFinale, TIMESTAMP, "
                       + "DataValutaUltimaOperazione, MsgPercentualeRendimentoDaInizioAnno, MsgPercentualeRendimentoDaInizioGestione, "
                       + "MsgPercentualeRendimentoDaInizioTrimestre, isTirAnomalo, CodiceLineaBF) "
                       + "values"
                       + "(" + 



                       qsTirPF.getPolizzaid() != null ?  qsTirPF.getPolizzaid() : "null";

这意味着在第一个字符串主干我想连接评估的值:

qsTirPF.getPolizzaid() != null ?  qsTirPF.getPolizzaid() : "null";

但是 Eclipse 给我签名了这个错误:

Type mismatch: cannot convert from Object&Comparable<?>&Serializable to String
为什么?怎么了?我该如何解决这个问题?

最佳答案

首先,您应该将三元条件放在括号内:

(qsTirPF.getPolizzaid() != null ?  qsTirPF.getPolizzaid() : "null")

此外,您应该验证 qsTirPF.getPolizzaid() 是否返回字符串

关于java - 我可以在字符串连接中使用条件三元运算符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38015121/

相关文章:

java - 为什么我的三元运算符会出现 NullPointerException?

java - 我可以禁用 JVM 字符串池吗?

java - LibGDX 拖拽最新的 Android 版本

java - 将要素添加到 Geotools 中的现有图层

java - 在 Java 中可视化数据

javascript - Jquery 和 List 中的 switch 语句

if-statement - Enterprise Architect 文档模板条件,例如 `if` 和“else”

Java双for循环和条件使用ng stdDraw画图,找不到失败

dart - 如何在 flutter dart 中使用具有多个条件的三元运算符?

java - 需要 boolean 值,找到 int?