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”
?