Я только начал со Scala и столкнулся с проблемой:
В Scala есть типы Tuple1
, Tuple2
,…, Tuple22
.Scalaquery возвращает кортежи при переборе запросов.
Теперь у меня есть заданный класс (ZK's ListitemRenderer
), который принимает Object
s и заполняет списки графического интерфейса строками, каждый из которых состоит из нескольких ячеек.Но ListitemRenderer
не является общим.Поэтому моя проблема в том, что у меня есть Object
«данные», которые на самом деле являются кортежами произвольной длины, которые я должен перебрать, чтобы создать ячейки (просто с помощью data._1.toString
,…).
Поскольку нет Я не знал супертипа к Tuple1-22
, я не могу не мог просто сделать data.asInstanceOf[Tuple].productIterator foreach {…}
Что я могу сделать?
Ниже "Ответ" сказал мне, что действительно есть черта ко всем кортежам - Product
- обеспечивая желаемую функцию foreach
.