var str: String? = null
str ?: null
当ran返回null,但是哪一个呢?我没有预见到这有什么实际的目的--我只是好奇而已。
你正在寻找的答案是右手边的值,这正是我们所期望的。这两个都是空的事实与他们被评估的顺序没有关系,Kotlin有一个契约并坚持它。
如果我在我的编辑器中键入您的代码,我会得到一个警告,“elvis运算符(?:)的右操作数如果为null则无用”,这在我看来是正确的。为了解决这个问题,让我们用返回null的函数代替左边和右边...
fun alwaysReturnsNull(log: String): String? {
println(log)
return null
}
val str: String? = alwaysReturnsNull("first") ?: alwaysReturnsNull("second")
println(str)
在本例中,输出是“First”,后跟“Second”,显示Kotlin按照您期望的顺序计算这些函数值:elvis的左手,然后是elvis的右手。
问题内容: 尝试通过一些非常有限的知识和经验来进行SQL查询。尝试了很多我通过搜索发现的内容,但没有得出我想要的结果。 我有四个表: 回复:KITS-[KIT_NO]和[ITEM_NO]都位于ITEMS表中。它们的串联是PK。 我想选择ORDERS,ORDERS.DATE,ORDER_DETAILS.ITEM_NO,ITEMS.DESC 没问题。一些简单的内部联接,我在路上。 困难在于在selec
问题内容: 表格如下: 我想获取班级列表,以及每个班级-属于每个班级的学生人数。我怎样才能做到这一点? 问题答案: 您需要这样做-
问题内容: 在Java中如何计算一个字符串表达式?,例如:”3+2” 问题答案: 使用JDK1.6,您可以使用内置的Javascript引擎。
我有两个针对同一个表的select查询,这两个查询在select部分中都只包含一个< code>sum(),但是在< code>where子句中有所不同。我需要做的是对两个查询的结果求和。 查询示例: 我需要的是像这样的东西 其中选择和,如我的示例查询中所示。 我试着回答这个问题,但没能成功。我还尝试用替换字段,但这不起作用,因为不允许在中使用
下面的代码通过使用特征向量作为容器或简单的C数组来实现相同的计算。它产生一个封闭的但不是位到位等效的结果。 最后的数学运算是。
我在mysql中有一个表,上面有骨质疏松症患者的ID和他们通过不同的访问获得的KL等级。我想知道一个查询来选择和识别谁是快速进步者(当比较两个不同的访问时(V00 vs V06;V03 vs V08;V06 vs V10),kl等级从0-1级上升到等级>=3级)和没有快速进步者(当比较相同的访问时,kl等级从0-1级上升到2级)。列侧,如果是右膝或左膝的值,请特别说明。 下面是我的表(表名:KL_