Do you still write code on Java 8 or probably older!? If “Yes” then you definitely have to visit this talk. We will explore the most popular features and use cases from the latest Java Version and will discover how complicated migration is.
43. 43
Nested-base access control
public class Outer {
private int intVal;
class Inner {
public void printOuterInt(){
System.out.println(intVal + 1);
}
}
}
jdk<11
44. 44
Nested-base access control
public class Outer {
private int intVal;
public int access$000() {
return intVal;
}
}
class Inner$Outer {
Outer outer;
public void printOuterInt() {
System.out.println(outer.access$000());
}
}
jdk<11
46. public class Outer {
private int intVal;
}
class Inner$Outer {
Outer outer;
public void printOuterInt() {
System.out.println(outer.intVal);
}
}
46
Nested-base access control
jdk11
56. 56
Switch expressions
int salary;
String level = "D1";
switch(level){
case "D0":
case "D1":
case "D2":
salary = 500;
break;
case "D3":
case "D4":
case "D5":
salary = 750;
break;
case "D6":
case "D7":
salary = 1000;
break;
default: salary = 750;
}
jdk<12
57. 57
Switch expressions
String level = "D1";
int salary = switch(level){
case "D0", "D1", "D2" -> 500;
case "D3", "D4", "D5" -> 750;
case "D6", "D7" -> 1000;
default -> 750;
}
jdk12
58. 58
Switch expressions
String level = "D1";
var salary = switch(level){
case "D0", "D1", "D2" -> 500;
case "D3", "D4", "D5" -> 750;
case "D6", "D7" -> "Тобі вже досить!";
default -> "Йди гуляй!";
}
jdk12