gpt4 book ai didi

scala - 如何使 List[String] 成为字符串列表

转载 作者:行者123 更新时间:2023-12-04 17:54:20 25 4
gpt4 key购买 nike

我有一个 Option[List[String]] ,其中有几个字段,并希望创建一个将它们作为参数的对象。除了手动还有其他方法吗?

详情:

class Foo(var1: String, var2: String, var3: String)

我做不到

foo = new Foo(datarow)

宁愿不做

foo = new Foo(datarow.get(0), datarow.get(1), datarow.get(2))

最佳答案

有一种安全的方法可以做到这一点,但仍然非常简洁:

class Foo(var1: String, var2: String, var3: String)

val datarow = Option(List("a", "b", "c"))

val result: Option[Foo] = datarow.collect {
case v1 :: v2 :: v3 :: _ => new Foo(v1, v2, v3)
}

collect 和列表前三个元素上的模式匹配的组合表示“如果此 Option 不为空并且如果它包含一个至少包含三个元素,用它们来实例化Foo"。

您最终会得到一个 Option[Foo],而不是 Foo,但为了避免运行时错误,这是一个很小的代价,因为 Option 为空或列表没有足够的元素。

关于scala - 如何使 List[String] 成为字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32292147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com