【发布时间】:2018-12-02 08:56:32
【问题描述】:
我有一个方法如下:
fun <T1, T2, T3> ifCoordsNotNull(v1: T1?, v2: T2?, v3: T3?, allNotNull: (T1, T2, T3) -> (Unit)) {
if (v1 != null && v2 != null && v3 != null) {
allNotNull(v1, v2, v3)
}
}
我知道这是一种检查多个值是否为空的方法;但是,除非我做了几个相关的方法,否则它似乎对我的需求不太有效。
有没有一种方法可以将我需要检查 null 的任何/所有变量放入列表/集合中,然后使用单个方法在回调中恢复结果(如果有)?
更具体地说,我可以像这样使用当前方法:
ifCoordsNotNull(loc["x"], loc["y"], loc["z"]) { x, y, z ->
但如果可能的话,我希望创建一种更符合人体工程学的方法,可以在许多情况下工作,例如:
ifNotNull(linkedSetOf(loc["x"], loc["y"], loc["z"])) { x, y, z ->
如果有任何类似的东西,或者我需要的更好的做法,请告诉我。谢谢。
【问题讨论】: