kotlin - 如果 Elvis 运算符的两个表达式都为 null,那么选择哪一个?
问题描述
例如:
var str: String? = null
str ?: null
当运行返回 null,但哪个?我没有预见到任何实际目的 - 我只是好奇。
解决方案
elvis 运算符的工作原理如下:如果左操作数的计算结果为null
,则使用右操作数。看到这个答案。
在您的情况下,null
选择了正确的权利,但是像这样使用它完全没有用。仅当您为相应的左操作数提供非空替代项时,使用 elvis 运算符才有意义。
推荐阅读
- python - Sphinx 和 reStructuredText:在 include 指令中传递参数
- c# - 在 C# 中导出到 visio?
- jenkins - 隐藏输出 HTML 的 Active Choice 参数
- python - 使用 Tensorlow 2.0 实现 CNN 模型
- git - 使用 Git 在 Windows 和 Linux 上进行跨平台开发
- django - 重命名 Django 目录根 - ImportError: cannot import name 'python_implementation' from 'platform'
- linux - 无法打开 lib '/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1'
- node.js - 在另一个项目中使用一个 React 项目
- sql-server - Oracle 到 SQL Server 迁移特殊字符问题
- kotlin - 带有 Kotlin 类委托的 Dagger 构造注入