作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有更简洁的方法来使用选项链和/或 elvis 运算符编写以下代码?
email.addSubject(if (creator != null) String.format( inviteDescription, creator) else String.format(inviteDescriptionNoCreator, group))
感觉应该有。
最佳答案
使用普通的IF表达式
val subject = if (creator != null) {
inviteDescription.format(creator)
} else {
inviteDescriptionNoCreator.format(group)
}
email.addSubject(subject)
猫王运算符
val subject = creator?.let {
inviteDescription.format(it)
} ?: inviteDescriptionNoCreator.format(group)
email.addSubject(subject)
如果目标是尽可能编写最短的代码,那么您可以使用单行 Elvis 运算符。但如果目标是可读代码,我会选择简单的 if 表达式或多行 Elvis 运算符。我什至会向前迈出一步,将其移至另一种方法。但无论您选择什么,请不要将所有内容都写在一个长行中,而是将其分开。
关于kotlin - 选项链接而不是 if/else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823789/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!