Opcional
a) Métodos comunes de la clase contenedora opcional
Optional.of (T t) crea una instancia opcional
Optional.empty () crea una instancia opcional vacía
Optional.ofNullable (T t) Si t no es nulo, cree una instancia opcional; de lo contrario, cree una instancia vacía
IsPresent () Determina si hay un valor
OElse (T t) Si el objeto que llama contiene un valor, devuelve ese valor; de lo contrario, devuelve t
OrElseGet (Proveedor s) Si el objeto que llama contiene un valor, devuelve el valor; de lo contrario, devuelve el valor obtenido por s (el valor de cualquier tipo de objeto que la interfaz de suministro quiera devolver está bien, solo salga nuevo)
Map (Función f) Si hay un valor para procesarlo, y devuelve el Opcional procesado, de lo contrario devuelve Opcional.empty ()
FlatMap (mapeador de funciones) es similar a map y requiereEl valor devuelto debe ser opcional.
@Test
public void test1() {
Optional<Employee> ofNullable = Optional.ofNullable(new Employee("张三三",23,12345.00));
Optional<String> map = ofNullable.map((e) -> e.getName());
System.out.println(map.get());
Optional<String> flatMap = ofNullable.flatMap((e) ->Optional.of(e.getName()));
System.out.println(flatMap.get());
}
Nueva API de fecha y hora
Problemas de fecha anterior
1, LocalDate LocalTime LocalDateTime (lectura humana)
2. Instantáneo: Marca de tiempo (en el primer año de Unix: el valor de milisegundos entre las 00:00:00 del 1 de enero de 1970 y una hora determinada) (lectura por computadora)
3. a) Duración: calcula el intervalo entre dos "tiempos"
B) Periodo: calcula el intervalo entre dos "fechas"
4. Corrector de tiempo: TemporalAdjuster (interfaz) Clase de herramienta TemporalAdjusters
5. DateTimeFormatter: formato de hora / fecha
6 、 ZonedDate 、 ZoneTime 、 ZoneDateTime : 时 区
public static void main(String[] args) {
DateTimeFormatter isoDate = DateTimeFormatter.ISO_DATE;
LocalDateTime now = LocalDateTime.now();
String format = isoDate.format(now);
System.out.println(format);
// System.out.println(ZoneId.getAvailableZoneIds());
LocalDate now2 = LocalDate.now(ZoneId.of("America/Cuiaba"));
System.out.println("zoneId-----------------"+now2);
LocalDateTime now3 = LocalDateTime.now(ZoneId.of("America/Cuiaba"));
ZonedDateTime atZone = now3.atZone(ZoneId.of("Asia/Shanghai"));
System.out.println(atZone);
}