scala - 来自 Java 的事物 list ,我们现在将在 Scala 之后愉快地告别

标签 scala

我想要一个表格,列出 Java 的哪些烦人的东西是历史,以及它被 Scala 的哪些特性所取代。

我必须承认我是 Scala 的新手,所以我不能做出太多贡献。但我觉得,这份 list 将有助于我和其他人充分了解 Scala

例如我们使用关键字“val”,这使得初始化后的值不可变。在 Java 中,我们必须输入对象的类型以及关键字 final。 Scala 让我们摆脱了这种痛苦。

Scala 中的并发支持显然更好,但我不是在寻找它。这是一个太大的好功能,不容忽视。我正在寻找更精细的细节,即使微不足道也会有很好的效果。

一些领域是:类型系统、异常处理、正则表达式、OOPS 特性、语法糖等。

最佳答案

我喜欢的一件事是能够编写如下内容:

case class Person(name: String, age: Int)

代替:
class Person {

  private String name;
  private int age;

  public Person(String name, int age) {
    this.name=name;
    this.age=age;
  }

  public String getName() {
      return name;
  }

  public int getAge{
      return age;
  }

  public String toString() { 
      return String.format("Person(%s, %d)", name, age);
  }

  public boolean equals(Object other) {
      if (other == this) 
          return true;
      if (other.getClass() != getClass())
          return false;
      Person p = (Person) other;
      return getName().equals(p.getName()) && getAge().equals(p.getAge());
  }

  public int hashCode() {
      int h = getName().hashCode();
      h = 37 * h + getAge(); //or whatever it is!
      return h;
  }
}

关于scala - 来自 Java 的事物 list ,我们现在将在 Scala 之后愉快地告别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1885762/

相关文章:

java - Scala:检查列表是否为空

scala - Spark 流示例使用附加参数调用 updateStateByKey

scala - 电子邮件异常 : Sending the email to the following server failed : smtp. gmail.com:465

scala - 生产中的 Spark Structured Streaming 检查点使用

scala - Apache 弗林克 : Count window with timeout

java - 如何在 Scala 中获取 java.lang.Enum 类?

java - 玩! 2.1 要我写scala代码

scala - 使用多态 ADT 类型检查的错误 Scala 代码

scala - 使用 sbt 编译 Java 注释

scala - 在嵌套多态值中使用包含泛型类型参数