Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 匹配2个案例类的值_Scala - Fatal编程技术网

Scala 匹配2个案例类的值

Scala 匹配2个案例类的值,scala,Scala,假设我有两个案例类: case class A (r: String) // with value "rr" case class B (rr:String) // with value "ask" 我怎样才能匹配这两个呢 if(*value of case class B(A)* == *value of case class B.rr*) true 在scala中是否可能?如果可能,那么如何实现 我尝试了A.getClass.getName.startsWith(B.rr) 但是没有得到

假设我有两个案例类:

case class A (r: String) // with value "rr"
case class B (rr:String) // with value "ask"
我怎样才能匹配这两个呢

if(*value of case class B(A)* == *value of case class B.rr*) true
在scala中是否可能?如果可能,那么如何实现

我尝试了
A.getClass.getName.startsWith(B.rr)


但是没有得到输出

如果我正确理解了这个问题,您需要检查
B.rr
是否有某个给定的类名作为其值(然后
A
r
成员与此无关)。在这种情况下,这里有一个解决方案:

valb=新的b(“A”)
b比赛{
案例B(classOf[A].getSimpleName)=>//我们知道B.rr==“A”
案例=>//b.rr!=“A”
}

如果(b.rr==classOf[A].getSimpleName),也可以只使用
。。。否则…

不清楚您想要实现什么,请提供一个示例,即使它没有编译。您是否正在尝试检查
a.r==b.rr
!你说的
是什么意思?我尝试了A.getClass.getName.startsWith(B.rr),但没有得到任何输出?它是一个布尔值。您可以使用
println(a.getClass.getName.startsWith(B.rr))
获得控制台输出。此外,还不清楚您实际想要做什么。您是否正在尝试检查
B.rr==“A”