- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道 ?:
如果以下函数调用之一返回 null
,则调用 elvis 运算符.
private fun extractProductAttributes(productEntity: JSONObject): List<JSONObject> {
return productEntity.optJSONObject("Entity")
?.optJSONObject("Attributes")
?.optJSONArray("Attribute")
?.toList() as List<JSONObject>
?: listOf()
}
null
我想回退到一个空的不可变列表。
最佳答案
是的,它会。让我们分解代码,看看它是如何工作的......
假设,你有这个代码,
a?.b?.c ?: d
a
中的任何一个,
a.b
, 或
a.b.c
为空,则
d
被退回。
productEntity.optJSONObject("Entity")
?.optJSONObject("Attributes")
?.optJSONArray("Attribute")
?.toList() as? List<JSONObject>
?: listOf()
关于Kotlin elvis 运算符回退函数调用链中任何 null 情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60668348/
谁能解释ternary operator shorthand 之间的区别? (?:) 和 null coalescing operator (??) 在 PHP 中? 他们什么时候表现不同,什么时候表
下面的代码将打印B null?.let { println("A") } ?: println("B") 但是下面的代码没有渲染B null?.let { Text(text = "A
在 Elvis Operator 时遇到了一个有趣的案例?:不当行为。 想象一下有这样的东西 base64ToBmp(str)?.let { } ?: run { } 并在一些旧手机和模拟器上看到
让我们编写这样的代码(App.xaml.xs 的片段): public class MethodClass { public async Task Job() { De
我在 Angular 2 中的网站进展得越多,Elvis Operator 似乎就越多。是使这一切成为可能的神奇力量。我采取的每一步都涉及弄清楚如何将它正确地应用于对数据完成的所有事情的每个实例。我觉
elvis 运算符,又名 null 条件运算符,非常酷。 在 LINQ 查询中,它与 null 合并“??”一起工作得很好运营商。 Somedata.Where(dt=>(dt?.Inner?.Inn
所以我可以替换旧的三元运算: def something = mainThing != null ? mainThing : "gone!" 使用 Elvis 运算符: def something =
如果 nextbitmap() 的结果为 null,则 Kotlin 中的以下代码从父函数返回 val bitmap = nextbitmap() ?: return // something t
遇到 Kotlin elvis 运算符的一些奇怪行为,当尝试从映射中通过键获取某个值时,没有一个 block 不被执行。 map["Key"]?.let { println("Run bloc
我想知道 ?:如果以下函数调用之一返回 null,则调用 elvis 运算符. private fun extractProductAttributes(productEntity: JSONOb
我真的不知道如何命名标题,因此我将尽我所能解释它: val a = b ?: ({ val temp = c.evaluate() store(temp) temp // re
在我的代码中,我发现我的方法可能返回 null 的情况。在这种情况下,我宁愿抛出异常也不愿返回 null。但是我不想使用常规 if 因为在我看来它看起来很糟糕。参见代码: class Type{} @
问题:Elvis 运算符 是否计划在未来的 Java 版本中实现?或者是否有任何库将其引入 Java? 我读过 it was proposed for Java SE 7 but didn't mak
这个问题在这里已经有了答案: Is there a null-coalescing (Elvis) operator or safe navigation operator in javascrip
所以我有一个来自服务器的复杂日期模型来提供我的 Angular2 组件。下面显示了该组件模板的一小部分: {{Person.Address.City}} Address 可能是
许多语言中的三元运算符是这样工作的: x = f() ? f() : g() 如果 f()那么是真的x被赋值为 f() , 否则赋值为 g() .然而,有些语言有更简洁的 elvis operator
所以,假设我们有一个简单的对象,它包含两种不同语言的字符串,例如 welcomeText = {"de": "Willkommen zurück!", "en": "欢迎回来!"。 welcomeTe
我正在将 Firebase DataSnapshot (json) 对象解析为数据类。除了以下内容,我可以组合它们并在其中任何一个为空时返回吗?类似于 Swift 的 guard let ..., l
我遇到了解析问题,这已通过 Elvis 运算符解决,但如果我的 key 包含正斜杠,我就不能使用 Elvis 运算符,因为我必须将该 key 放入方括号中。 如果键像这样简单(“firstname”)
我会举例说明: 猫王运算符 (?: ) The "Elvis operator" is a shortening of Java's ternary operator. One instance of
我是一名优秀的程序员,十分优秀!