【问题标题】:Overriding Java method in Scala using eclipse使用eclipse覆盖Scala中的Java方法
【发布时间】:2013-11-29 21:04:12
【问题描述】:

有没有什么聪明的方法可以使用 eclipse 覆盖 Scala 中的 Java 方法?

我在 Eclipse (Scala IDE) 中没有看到用于 Java 文件的“源”选项(源 -> 覆盖/实现方法)。

我尝试了其他方式输入def override exampleMethod,在这里我按下了Ctrl + Space。 Ide 正确地建议了超类的方法,但是当我接受建议时,我只看到了

exampleMethod(param1, param2... etc.) // without arguments types - like a method call 

我想重写的方法有 7 个参数,对于每个参数我都必须检查它的类型。这不是很方便。

但也许我可以做得更好?

【问题讨论】:

  • 最初创建类时,您是否尝试过在“新建 Scala 类”对话框中指定超类?如果选择了该选项,这应该为要覆盖的抽象方法创建方法存根,尽管由于某些版本的 Scala IDE for Eclipse 中不存在该功能的错误。
  • 嗯...为未实现的方法生成存根对我不起作用。我的版本'Scala IDE build of Eclipse SDK Build id: 3.0.2-vfinal-20131028-1923-Typesafe'。即使它仍然可以工作,问题是方法被覆盖。

标签: java eclipse scala scala-ide


【解决方案1】:

Scala IDE 目前不支持为覆盖的方法生成存根。

一种解决方案是使用新的'Java to Scala' 插件,它将文件Java 代码转换为Scala 代码。它适用于抽象方法定义。对于具体方法,我发现不转换整个身体的技巧是:

  • 复制方法签名
  • 粘贴它
  • 添加;
  • 剪切文本
  • 使用转换粘贴它

该插件可从 Scala IDE 更新站点获得。

(强制性)此外,我们确实接受代码贡献以提供更集成的解决方案。

【讨论】:

  • 你知道它在 IntelliJ 中是否更好用吗?我想知道是否至少对于 Scala 项目不更改为 IDEA,尽管我喜欢 eclipse:/
猜你喜欢
  • 1970-01-01
  • 2011-09-20
  • 2015-10-31
  • 2015-02-25
  • 1970-01-01
  • 2013-11-09
  • 1970-01-01
  • 2012-08-04
  • 2017-03-31
相关资源
最近更新 更多