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