Ich bin neu in Scala, ich habe eine Liste der zulässigen PhoneNumbers, die ich von einer Yaml-Datei erhalten sollte. Ich habe es unter meiner config-Datei wie folgt aus:Scala - konvertieren Sie ein Array von Zeichenfolgen auf [PhoneNumbers]
allowedPhoneNumbers:
- 101111111001
- 101111111002
- 101111111003
Ich habe eine Config Charakterzug, wo ich die Liste der erlaubten Rufnummern aus yaml Datei wie das nehmen kann:
val allowedPN1= config.getStringList("allowedPhoneNumbers").toArray
oder
def allowedPN2: util.List[String] = config.getStringList("allowedPhoneNumbers")
Ich habe eine Funktion, die ein Set [PhoneNumbers] zurückgeben sollte. Wenn ich einige
config.allowedPN1.toSet[PhoneNumbers]
Es kompiliert fein zurückzukehren bin versucht, aber wenn ich das Projekt baue ich eine
type arguments [PhoneNumbers] do not conform to method toSet's type parameter bounds [B >: Object]
Also, wie kann ich meine Liste (konvertieren aus der Config genommen Datei) in einige Set [PhoneNumbers]. Wo PhoneNumbers nur eine Klasse ist, die eine erforderliche Musterübereinstimmung hat.
case class PhoneNumbers(value: String) {
require(Pattern.matches("\\d{12}", value),
"The number must be a 12 digit phone number.")
override def toString: String = value
}
Was ist Ihr 'PhoneNumber' Klasse ist? ? –
eine Klasse mit einem erforderlichen Muster. Ich habe es in meine erste Frage gestellt. – WDrgn