JAVA8新特性
2020-05-15 09:40:28 27 举报
AI智能生成
java8新特性
作者其他创作
大纲/内容
jjs
jjs 交互式编程
jjs
Java 中调用 JavaScript
JavaScript 中调用 Java
new Date
old Date存在问题
非线程安全
设计很差
时区处理麻烦
Java 8 在 java.time
Local(本地)
简化了日期时间的处理,没有时区的问题
Zoned(时区)
通过制定的时区处理日期时间。
本地化日期时间 API
使用时区的日期时间API
Base64
Base64工具类提供了一套静态方法获取下面三种BASE64编解码器
基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的解码仅支持A-Za-z0-9+/
URL:输出映射到一组字符A-Za-z0-9+_,输出是URL和文件
MIME:输出隐射到MIME友好格式。输出每行不超过76字符,并且使用'\r'并跟随'\n'作为分割。编码输出最后没有行分割
Base内嵌类
static class Base64.Decoder
static class Base64.Encoder
方法
static Base64.Decoder getDecoder()
static Base64.Encoder getEncoder()
static Base64.Decoder getMimeDecoder()
static Base64.Encoder getMimeEncoder()
static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)
static Base64.Decoder getUrlDecoder()
static Base64.Encoder getUrlEncoder()
实例
Lambda表达式
lambda表达式的重要特征
可选类型声明:不需要声明参数类型,编译器可以统一识别参数值
可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号
可选的大括号:如果主体包含了一个语句,就不需要使用大括号
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值
代码
Stream
实例
Optional 类
static <T> Optional<T> empty()
返回空的 Optional 实例。
boolean equals(Object obj)
判断其他对象是否等于 Optional。
Optional<T> filter(Predicate<? super <T> predicate)
如果值存在,并且这个值匹配给定的 predicate,返回一个Optional用以描述这个值,否则返回一个空的Optional。
<U> Optional<U> flatMap(Function<? super T,Optional<U>> mapper)
如果值存在,返回基于Optional包含的映射方法的值,否则返回一个空的Optional
T get()
如果在这个Optional中包含这个值,返回值,否则抛出异常:NoSuchElementException
int hashCode()
返回存在值的哈希码,如果值不存在 返回 0。
void ifPresent(Consumer<? super T> consumer)
如果值存在则使用该值调用 consumer , 否则不做任何事情。
boolean isPresent()
如果值存在则方法会返回true,否则返回 false。
<U>Optional<U> map(Function<? super T,? extends U> mapper)
如果存在该值,提供的映射方法,如果返回非null,返回一个Optional描述结果。
static <T> Optional<T> of(T value)
返回一个指定非null值的Optional。
static <T> Optional<T> ofNullable(T value)
如果为非空,返回 Optional 描述的指定值,否则返回空的 Optional。
T orElse(T other)
如果存在该值,返回值, 否则返回 other
T orElseGet(Supplier<? extends T> other)
如果存在该值,返回值, 否则触发 other,并返回 other 调用的结果。
<X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier)
如果存在该值,返回包含的值,否则抛出由 Supplier 继承的异常
String toString()
返回一个Optional的非空字符串,用来调试
实例
Java 8 默认方法
实例
自由主题
0 条评论
下一页