Scala 方法表示 returns 在 alphabet/dictionary 中找到第一个字符串

Scala method that returns the first string found in the alphabet/dictionary

例如这段代码

val stringTuple = ("BLACK", "GRAY", "WHITE")
firstInAlphabet(stringTuple)

应该return"BLACK"。你会如何定义firstInAlphabet

就我个人而言,我更喜欢简单快速的实现,而不是涵盖很多情况的复杂实现。

t.productIterator.map(_.asInstanceOf[String]).min

productIterator 将元组的元素转换为迭代器。这会丢失类型信息,因此我们必须转换元素,然后使用 min 找到第一个。

如果你的元组中有非字符串元素,这个版本应该可以解决问题:

t.productIterator.map(_.toString).min

它不是转换为字符串,而是转换为字符串。