随笔分类 - java新特性
摘要:要使用静态成员(方法和变量)我们必须给出提供这个静态成员的类。 使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。 静态导入也是JDK5.0引入的新特性,下面以实例来说明静态导入的用法: 静态导入的语法是: import static 包名.类名.
阅读全文
摘要:lambda的使用条件是‘一个接口仅有一个待实现的方法’; so,lambda不能使用在抽象类上,使用后或提示‘Target type of a lambda conversion must be an interface’ 非要使用,需要变通; 例如,抽象类 TimerTask 在这里用lambd
阅读全文
摘要:Java 8中允许接口中包含具有具体实现的方法,该方法称为 “默认方法”,默认方法使用 default 关键字修饰。 接口默认方法的”类优先”原则 若一个接口中定义了一个默认方法,而另外一个父类或接口中 又定义了一个同名的方法时 选择父类中的方法。如果一个父类提供了具体的实现,那么 接口中具有相
阅读全文
摘要:Optional 容器类:用于尽量避免空指针异常 * Optional.of(T t) : 创建一个 Optional 实例 * Optional.empty() : 创建一个空的 Optional 实例 * Optional.ofNullable(T t):若 t 不为 null,创建 Optio
阅读全文
摘要:Fork/Join 框架与传统线程池的区别采用“工作窃取”模式(work-stealing):当执行新的任务时它可以将其拆分分成更小的任务执行,并将小任务加到线程队列中,然后再从一个随机线程的队列中偷一个并把它放在自己的队列中。 相对于一般的线程池实现,fork/join框架的优势体现在对其中包含的
阅读全文
摘要:Java8中的Collection接口被扩展,提供了两个获取流的方法: Java8中的Collection接口被扩展,提供了两个获取流的方法: Java8中的Collection接口被扩展,提供了两个获取流的方法: Java8中的Collection接口被扩展,提供了两个获取流的方法: Java8中
阅读全文
摘要:方法引用:若 Lambda 体中的功能,已经有方法提供了实现,可以使用方法引用 (可以将方法引用理解为 Lambda 表达式的另外一种表现形式) 1. 对象的引用 :: 实例方法名2. 类名 :: 静态方法名3. 类名 :: 实例方法名 注意: ①方法引用所引用的方法的参数列表与返回值类型,需要与函数式接口中抽象方法的参数列表和返回值类型保持一致! ②若Lambda 的参...
阅读全文
摘要:Lambda表达式是java8的新特性,使用Lambda表达式可以省略很多代码,Lambda表达式是匿名内部类的简写; test01和test02功能相同; Java内置四大核心函数式接口 Java内置四大核心函数式接口 Java内置四大核心函数式接口 Java内置四大核心函数式接口
阅读全文