Oynatım çerçevesindeki bir yapılandırma dosyasından sunucuların listesini almaya çalışıyorum. Şu anda aşağıdaki kodu vardır:Yalnızca yinelenen Scala'da null olmadığında nasıl eşlenir?
val servers: List[Server] = {
val servers = ConfigFactory.load().getConfigList("servers") map { s =>
Server(s.getString("ip"), s.getString("port")) }
servers.toList
}
"servers"
yapılandırma dosyasındaki var olmayan biriyle bir problem ortaya çıkar. Bu durumda, ConfigFactory.load().getConfigList("servers") == null
, dolayısıyla map
işlemi bir NullPointerException
neden olur. Kolay bir çözüm, ConfigFactory.load().getConfigList("servers")
sonucunu saklamak ve sonucuna dalmak olabilir.
Bu yaklaşım bana aptalca gelmiyor. Önceki ifade null
değilse, yalnızca map
kullanmanın bir yolu var mı?
Sadece "com.typesafe.config.ConfigFactory" bulundu, sonuçta ortaya çıkan değişiklik "val server_list = ConfigFactory.load(). GetConfigList" olmalıdır. sunucuları ")'. Bunu soruğumda güncelleyeceğim ve ardından bu yorumu kaldıracağım. – erip
Cool, ayrıca 'Seçenek [Liste [T]]' ni düzeltebildiğini fark ettiniz, ancak 'getOrElse (List())' i kullanarak 'List [T]' ile bitebilirsiniz. –