首页 > 解决方案 > 如果 Elvis 运算符的两个表达式都为 null,那么选择哪一个?

问题描述

例如:

var str: String? = null
str ?: null

当运行返回 null,但哪个?我没有预见到任何实际目的 - 我只是好奇。

标签: kotlin

解决方案


elvis 运算符的工作原理如下:如果左操作数的计算结果为null,则使用右操作数。看到这个答案

在您的情况下,null选择了正确的权利,但是像这样使用它完全没有用。仅当您为相应的左操作数提供非空替代项时,使用 elvis 运算符才有意义。


推荐阅读