繁体   English   中英

如何在scala中生成方法

[英]How to generate methods in scala

基本上,我有一个类,有几个getter返回不同的Seq s。 但我需要在java代码中使用这些集合。 我实现了显式返回java集合的备用getter,但我想以更隐式的方式执行此操作。 像这样的东西:

class X {

     @AsJava //annotation that generates method someSeqJava: java.util.List[Int]
     def someSeq: Seq[Int] = Seq(1,2,3,4)

}

或任何其他方式。 我不想一直自己写所有这些转换。 谢谢。

看看JavaConversions / JavaConverters

如果要使用注释,可能需要查看AspectJ。

这类似于@BeanProperty注释,创建一个完成工作的编译器插件应该相对容易。 事实上,根据您的需求,似乎您可以在typer阶段之后挂钩插件(以便符号和类型都可用)。

编辑:

我建议你看看下面的讨论,他们可能会有所帮助:

以下是官方scala网站的简短指南

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM