Java scala 中使用的迭代器无法正常工作

Java iterator used in scala not working properly

我正在尝试使用 restfb 从 facebook 中获取用户的喜欢。 docs say 迭代器支持分页,但这在我的 Scala 代码中不起作用。我希望这与 javaConversions 隐式有关,但我不确定。

这是我的代码:

import com.restfb.types.{Page, Photo, User}
import com.restfb.{Parameter, Version, DefaultFacebookClient}
import collection.JavaConversions._

class Facebook(accessToken: String) {

  val facebookClient = new DefaultFacebookClient(
    accessToken,
    Version.VERSION_2_4)

  def getInterests = {

    val likes = facebookClient.fetchConnection("me/likes", classOf[Page], 
       Parameter.`with`("fields", "id,name,category"))

    likes.getData.map(like => s"id=${like.getId}, name=${like.getName} -- ")
  }
}

我尝试将 likes.getData 更改为 likes.getData.iterator,但出现错误 org.json4s.package$MappingException: Classes defined in method bodies are not supported.

我需要做什么才能使 likes.getData 返回的迭代器分页结果以便我可以映射所有结果?

尝试使用 JavaConverters 而不是 JavaConversions:

import scala.collection.JavaConverters._

val data = likes.getData.asScala.map(like => s"id=${like.getId}, name=${like.getName} -- ")

我也需要映射连接,即:

likes.flatMap(likeConn => likeConn.map(like => 
  s"id=${like.getId}, name=${like.getName} -- "))

然后自动分页