4. Java8 : content
● Java8 JSR 337
– JSR 335 lambda
– JSR 308 Annotation on Java types
– JSR 310 New date time api
– Optional
5. Java8 : optional
● Optional : wrapper of Object to avoid the
nullPointerException management
– Still exist in Guava (but not fully compliant with java8
version
● Samples :
Person p = PersonQueries.findByName("Sophie");
Optional<Person> wrapper = Optional.ofNullable(p);
//get now the person or get null
Person p = wrapper.orElse(null);
6. Java8 : new java date API
● Close to Joda-time library
● Immutable classes (Thread safe)
– LocalDate
– LocalTime
– LocalDateTime
– Instant
– ZonedDateTime
– Period
– Duration
7. Java8 : date API example1
● Immutable classes (Thread safe)
– LocalDate
● Creation (no public constructor)
– LocalDate date = LocalDate.of(2015,
Month.NOVEMBER, 17);
– LocalDate date2 = LocalDate.now();
● Usage (immutable)
– date = date.minusWeeks(2);