小编gia*_*zzi的帖子

为什么这些函数擦除后类型相同?

def merge[X](list1: Option[List[X]], list2: Option[List[X]]): Option[List[X]]  
def merge[X](list1: Option[List[X]], elem: Option[X]): Option[List[X]]
Run Code Online (Sandbox Code Playgroud)

编译器说这两个函数在擦除后具有相同的类型

def merge[X](list1: Option[List[X]],list2: Option[List[X]]): Option[List[X]] at line 122 and
def merge[X](list1: Option[List[X]],elem: Option[X]): Option[List[X]] at line 131
have same type after erasure: (list1: Option, list2: Option)Option
Run Code Online (Sandbox Code Playgroud)

为什么擦除后Option[List[X]]Option[X]变得相同?我怎样才能让它们与众不同?

java generics scala

2
推荐指数
1
解决办法
173
查看次数

Scala 模式匹配:对于某些情况不执行任何操作

我必须根据模式匹配块中的情况执行一些操作,但仅限于选择性情况,其余情况无需执行任何操作。那么剩下的情况就直接 return() 就可以了吗?像这样的东西:

    val x = ....
    val y = ....
    (x, y) match {
              case (Some(number), Some(text)) => {
                ...... 
              }
              case (Some(number), None) => {
                ......
              }
              case (_, _) => () // do nothing
            }
Run Code Online (Sandbox Code Playgroud)

scala pattern-matching

0
推荐指数
1
解决办法
2262
查看次数

标签 统计

scala ×2

generics ×1

java ×1

pattern-matching ×1