【发布时间】:2021-10-30 18:04:16
【问题描述】:
假设我有下面的案例类,它直接转换一个 db 表,并且在创建新行时将随机生成 id。
case class Test(id: UUID, name: String)
现在查看测试,我需要从 Test 中检索一行并与它进行比较
val test1 = (...., "testName")
但是我没有第一个参数,因为它是随机创建的,我想以某种方式忽略它...
我试过了
test1 = (_, "testName")
但它无效。
有什么方法可以在 Scala 中忽略案例类参数?
谢谢!
【问题讨论】:
-
您想比较忽略一个参数的案例类实例,是吗?一种简单的方法是复制参数中的固定值以忽略。
-
在@GaëlJ 的方法中,
equals将不再起作用,因此您需要创建一个仅比较第二个参数的自定义比较方法。 -
@ComDubh 你是什么意思
equals将不再起作用? @Silvio 下面的回答正是我的建议。 -
@Silvio 定义了一个新方法
myEquality来测试仅基于name字段的相等性。这就是我所指的(“自定义比较方法”)。 @Gael,你没有提到这一点,但也许是假设的。
标签: scala