如果不为null,则Scala方式添加到List

时间:2013-12-05 16:54:21

标签: scala scala-collections

Scala新手在这里......

使用getStLine *()方法在地址java对象上进行以下操作... 产生一个带有空字符串的List,用于返回的空字符串。 什么是Scala方式干净利落地不将空字符串添加到列表中。

val streets = List[String](addr.getStLine1, addr.getStLine2, addr.getStLine3)

1 个答案:

答案 0 :(得分:5)

看起来你明确地将字符串添加到列表中,我认为你不能轻易避免在没有自定义派生列表实现的情况下添加空字符串。另一方面,您可以在事后轻松过滤掉空字符串。

scala> val z = List("one", "", "three")
z: List[java.lang.String] = List(one, "", three)

scala> z.filter(p=> p!=null && !p.equals(""))
res2: List[java.lang.String] = List(one, three)