我想要一个表格列出Java的历史记录,以及Scala的哪些功能已被替换.
我必须承认我是Scala的新手,所以我不能做出太多贡献.但我觉得,这个列表对我和其他人都有帮助,可以完全理解Scala
例如,我们使用关键字"val",这使得值在初始化后不可变.在Java中,我们必须键入对象的类型以及关键字final.斯卡拉让我们摆脱了这种痛苦.
在Scala中,并发支持显然更好,但我不是在寻找它.这是一个太大的好事,被忽略了.我正在寻找更精细的细节,尽管微不足道会产生良好的效果.
一些领域是:类型系统,异常处理,正则表达式,OOPS功能,语法糖等.
我喜欢的一件事是能够写出类似的东西:
case class Person(name: String, age: Int)
Run Code Online (Sandbox Code Playgroud)
代替:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
a + b,list map f)但是,因为每个功能都有它们的含义,它是设计的一部分,何时使用:
何时使用隐式类型转换和泛型.
没有什么是免费的.Scala是一个强大的工具,所以你可以伤害自己.
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |