我正在尝试将一些旧的 Scala 代码更新为新的 API。
在我使用的一个库中,出于兼容性原因,案例类已转换为简单的 POJO。
我想知道是否仍然可以以某种方式对 Java 类使用模式匹配。
想象一下,我有一个简单的 Java 类,例如:
public class A {
private int i;
public A(int i) {
this.i = i;
}
public int getI() {
return i;
}
}
编译后,我想以某种方式在模式匹配中使用它:
class Main extends App {
val a = ...
a match {
case _ @ A(i) =>
println(i);
}
}
对于上面的代码,我显然得到了一个错误:Main.scala:7: error: object A is not a case class constructor, nor does it have an unapply/unapplySeq method
.
我可以在这里使用什么技巧吗?
提前致谢!