【发布时间】:2010-03-04 17:27:53
【问题描述】:
过去几个月我一直在学习 Scala,现在我觉得除了解决一些简单的问题之外,我还可以开始将其用于实际工作。我的问题是这两者如何协同工作?
我现在正在处理几个 Java 项目。开始在其中使用 scala 有多容易?有什么需要注意的问题吗?是否有任何教程或可用的东西?如果我想在 Web 项目中使用 Scala,该怎么做(除了提升)?欢迎所有想法和建议。
【问题讨论】:
过去几个月我一直在学习 Scala,现在我觉得除了解决一些简单的问题之外,我还可以开始将其用于实际工作。我的问题是这两者如何协同工作?
我现在正在处理几个 Java 项目。开始在其中使用 scala 有多容易?有什么需要注意的问题吗?是否有任何教程或可用的东西?如果我想在 Web 项目中使用 Scala,该怎么做(除了提升)?欢迎所有想法和建议。
【问题讨论】:
一般来说,使用 Scala 代码中的 Java 库比使用 Java 中的 Scala 内容更容易。这往往会发生,因为 Scala 具有在技术上可以在 java 中访问的高级功能,但由 scala 编译器通过生成各种名称混乱的额外类来实现。
如果你的“主”程序现在要用 java 编写,但你想在 scala 中实现一些功能或模块,你可能应该根据 Java 接口来定义你的模块。然后,让您的 Scala 代码实现这些接口。
希望你很快就会发现你非常喜欢 scala,以至于你切换到 scala 作为主要语言,调用你的旧 java 代码。
【讨论】:
@BeanProperty 注释可以成为你的朋友,让 Java 代码更容易访问 vals 和 vars。它生成 java 风格的 getFoo 和 setFoo ,您可以从 java 代码中使用它们(尽管 scala 编译器不允许您从 scala 代码中访问这些名称)。
一般来说,我不了解混合语言项目的前提,除非在极其特殊的情况下。 Scala 能够(作为一种语言)表达 Java 所能表达的一切,甚至更多。那么,为什么还要费心“将 Scala 引入 Java 项目”呢?为什么不写一个纯Scala项目?
当我说纯 Scala 时,我认为您可能希望引用一个用 Java 编写的 JAR 文件。但对于绝大多数情况,我认为 不需要在 Scala 项目中编写 Java 代码。
【讨论】: