簡體   English   中英

如何使用 Typesafe 配置庫獲取列表

[英]How to get a list with the Typesafe config library

我想在斯卡拉從像一個配置文件獲取列表something.confTypeSafe

something.conf我設置了參數:

mylist=["AA","BB"]

在我的 Scala 代碼中,我這樣做:

val myList = modifyConfig.getStringList("mylist")

簡單的配置參數工作正常,但有人能給我一個如何提取列表的例子嗎?

正如@ghik 所指出的,Typesafe Config 庫是基於Java的,因此您將獲得java.util.List[String]而不是scala.List[String] 所以要么轉換為scala.List

import collection.JavaConversions._
val myList = modifyConfig.getStringList("mylist").toList

或者(可能不那么尷尬)您尋找 Scala 庫。 工具 wiki至少鏈接到這些維護的庫:

(免責聲明:我不使用這些,因此您必須檢查它們是否支持您的類型和格式)

作為記錄,由於 Scala 2.12 JavaConversions已棄用,因此您可以:

import collection.JavaConverters._
val myList: List[String] = modifyConfig.getStringList("mylist").asScala.toList

您可以嘗試我的 scala 包裝器https://github.com/andr83/scalaconfig - 它支持直接從配置對象讀取本機 scala 類型。 在您的情況下,它將看起來:

val myList = modifyConfig.as[List[String]]("mylist")

Scala 2.13開始,標准庫通過scala.jdk.CollectionConverters提供 Java 到 Scala 的隱式列表轉換:

import scala.jdk.CollectionConverters._

val myList: List[String] = conf.getStringList("mylist").asScala.toList

這取代了不推薦使用的包scala.collection.JavaConverters/JavaConversions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM