ฉันกำลังเขียนโค้ด Scala ซึ่งใช้Apache POI API ฉันต้องการทำซ้ำในแถวที่อยู่ในjava.util.Iteratorที่ได้รับจากคลาสชีต ฉันต้องการใช้ตัววนซ้ำในfor eachรูปแบบลูปดังนั้นฉันจึงพยายามแปลงเป็นคอลเลกชัน Scala ดั้งเดิม แต่จะไม่มีโชค
ฉันได้ดูคลาส / ลักษณะของ Scala wrapper แล้ว แต่ไม่เห็นวิธีใช้อย่างถูกต้อง ฉันจะทำซ้ำคอลเลกชัน Java ใน Scala โดยไม่ใช้while(hasNext()) getNext()รูปแบบการวนซ้ำแบบละเอียดได้อย่างไร
นี่คือรหัสที่ฉันเขียนตามคำตอบที่ถูกต้อง:
class IteratorWrapper[A](iter:java.util.Iterator[A])
{
    def foreach(f: A => Unit): Unit = {
        while(iter.hasNext){
          f(iter.next)
        }
    }
}
object SpreadsheetParser extends Application
{
    implicit def iteratorToWrapper[T](iter:java.util.Iterator[T]):IteratorWrapper[T] = new IteratorWrapper[T](iter)
    override def main(args:Array[String]):Unit =
    {
        val ios = new FileInputStream("assets/data.xls")
        val workbook = new HSSFWorkbook(ios)
        var sheet = workbook.getSheetAt(0)
        var rows = sheet.rowIterator()
        for (val row <- rows){
            println(row)
        }
    }
}