Lütfen benimle oynayın, Scala ile hala oldukça noobish yaşıyorum.java.util.Iterator?
private lazy val keys : List[String] = obj.getKeys().asScala.toList
obj.getKeys docs göre (ithal edilmektedir) JavaConverers aracılığıyla
asScala çağrılması bir java.util.Iterator döndürür ..
java.util.Iterator <==> scala.collection.Iterator
: Aşağıdaki kod var scala.collection.Iterator ancak buradan
def toList : List[A]
Bu yüzden bu, çalışması gerektiğini inanıyordu bu dayalı tanımlar Burada derleme hatası var.
[scalac] <file>.scala:11: error: type mismatch;
[scalac] found : List[?0] where type ?0
[scalac] required: List[String]
[scalac] private lazy val keys : List[String] = obj.getKeys().asScala.toList
[scalac] one error found
Ben tür parametresi veya java Yineleyici bir Java dize anlıyorum ve Scala dizeleri bir liste oluşturmak için çalışıyorum, ancak (belki safça) örtük bir dönüşüm olacağını düşündüm.
Cevabınız için çok teşekkürler! Görünüşe göre sen ve Matthew Farwell çoğunlukla katılıyorum. Önerdiğin şeyi yaptım, obj.getKeys(). AsInstanceOf [java.util.Iterator [String]] .Scala.toList ve bu işe yaradı ve bir derleme uyarısı almadım. – rshepherd