Created by Mark Perry, @mprry, G+, Blog, LinkedIn, GitHub, maperry78@yahoo.com.au
|
|
String x = "Hello world";
String r1 = x.reverse(); // "dlrow olleH"
String r2 = x.reverse(); // "dlrow olleH"
// replace x with "Hello world"
String r1 = "Hello world".reverse(); // "dlrow olleH"
String r2 = "Hello world".reverse(); // "dlrow olleH"
StringBuilder sb = new StringBuilder("Hello");
String x = sb.append(" world").toString(); // "Hello world"
String y = sb.toString(); // "Hello world"
// replace sb with: new StringBuilder("Hello")
String x = new StringBuilder("Hello").append(" world").toString(); // "Hello world"
String y = new StringBuilder("Hello").toString(); // "Hello"
@Value.Immutable
interface Player {
String name();
Integer score();
}
void declareWinner(Player p1, Player p2) {
if (p1.score() > p2.score()) {
printWinner(p1);
} else {
printWinner(p2);
}
}
void printWinner(Player p) {
out.println(p.name() + " is the winner!");
}
void declareWinner(Player p1, Player p2) {
printWinner(winner(p1, p2))
}
Player winner(Player p1, Player p2) {
return p1.score() > p2.score() ? p1 : p2;
}
Functional Programming in Scala, Chiusano and Bjarnason, Chapter 1
Created by Mark Perry, @mprry, G+, Blog, LinkedIn, GitHub, maperry78@yahoo.com.au