Lombok项目是否适用于Scala?

时间:2011-12-08 12:03:23

标签: eclipse scala lombok

如果我希望我的Scala项目与Java“兼容”,那么从Java代码调用Scala API(这样非Scala程序员也可以贡献)是否可行,是否可以使用Project Lombok在Java代码中?或者他们俩相处得不好?

我将使用Scala IDE在Eclipse中进行开发。

编辑:我真正的意思是:Eclipse中的Scala 编辑器会看到Lombok生成的代码,还是我真正输入的Java代码?

2 个答案:

答案 0 :(得分:10)

我不确定你在问什么,因为Scala和Java是字节码级别的互操作,它不关心字节码的来源。所以我相信使用Lombok注释的Java代码仍然可以从Scala程序中调用。

如果您在询问是否可以在Scala代码中使用Lombok提供的那些注释,我认为没有意义,因为大多数这些功能都是由Scala itsef提供的。

例如,带有@Data的课程可能是Scala中的case class

case class Data(name: String, value: Int)

您可以像普通类一样在Java代码中访问它。

Data d1 = new Data("someData", 1);  // Using constructor
Data d2 = Data.apply("someData", 1); // Or using factory

而且Data会有所有精彩的toStringequalshashcode ....等等。

答案 1 :(得分:9)

scala编辑器部分将“看到”生成的代码就好了。

lombok的大部分内容遵循某些规范或其他规则,与scala相同。 lombok偏离的地方是canEqual并且等于实现,顺便说一下,scala为case类IIRC生成的完全相同的东西,所以即使是兼容的:)

免责声明:我是项目lombok的核心贡献者。

相关问题