12. 少ないコード
// Person.java
public class Person {
private int id;
private String name;
!
// getter
// toString
// equals
// hashCode
}
13. 少ないコード
// Person.java
public class Person {
private int id;
private String name;
!
// getter
// toString
// equals
// hashCode
}
// Person.scala
case class Person(
id: Int,
name: String
)
14. 少ないコード
// Main.java
List<String> list = new ArrayList<>();
for (Person p : persons) {
list.add(p.getName());
}
15. 少ないコード
// Main.java
List<String> list = new ArrayList<>();
for (Person p : persons) {
list.add(p.getName());
}
// Main.scala
val list = persons map (_.name)
16. Javaプログラマ(自分)の脳内
// Main.java
List<String> list = new ArrayList<>();
for (Person p : persons) {
list.add(p.getName());
}
自分「リストを作って、ループして、addしている」
自分「name・・・ああ、nameのリストだ!」
自分「これ、変換処理だ・・・!」