Соответствие значения 2 класса дела - PullRequest
0 голосов
/ 08 ноября 2019

Предположим, у меня есть 2 класса дел:

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)

, но не получил вывод

1 Ответ

1 голос
/ 08 ноября 2019

Если я правильно понимаю проблему, вы хотите проверить, имеет ли B.rr какое-либо заданное имя класса в качестве значения (и тогда член r в A не имеет к этому отношения). Вот решение в этом случае:

val b = new B("A")
b match {
    case B(classOf[A].getSimpleName) => // we know b.rr == "A"
    case _ => // b.rr != "A"
}

Вы также можете просто использовать if (b.rr == classOf[A].getSimpleName) ... else ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...