例如此代码
val stringTuple = ("BLACK", "GRAY", "WHITE")
firstInAlphabet(stringTuple)
应该返回"BLACK"
。你会如何定义firstInAlphabet
?
我个人更喜欢简单快速的实现,而不是复杂的实现,这些实现可以覆盖很多情况。
答案 0 :(得分:2)
t.productIterator.map(_.asInstanceOf[String]).min
productIterator
将元组的元素转换为迭代器。这会丢失类型信息,因此我们必须强制转换元素,然后使用min来查找第一个元素。
如果你的元组中有非String元素,那么这个版本应该可以解决这个问题:
t.productIterator.map(_.toString).min
而不是强制转换为String,而是转换为String。