随笔分类 - 重学Java
摘要:1 package day15.lesson1; 2 3 /* 4 1 类加载器 5 6 1.1 类加载 7 8 (1)类加载的描述 9 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过 10 类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。 11 如果不出现意外情况,JVM
阅读全文
摘要:1 package day14.lesson2; 2 3 import java.util.*; 4 import java.util.stream.Collectors; 5 import java.util.stream.Stream; 6 7 /* 8 2.6 Stream流的收集操作 9 1
阅读全文
摘要:1 package day14.lesson2; 2 3 import java.util.ArrayList; 4 import java.util.stream.Stream; 5 6 /* 7 2.5 Stream流案例 8 9 案例需求 10 现在有两个ArrayList集合,分别存储6名男
阅读全文
摘要:1 package day14.lesson2; 2 3 import java.util.ArrayList; 4 5 /* 6 2.4 Stream流的"终结操作"方法 7 8 终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作 9 10 void forEach(Consu
阅读全文
摘要:1 package day14.lesson2; 2 3 import java.util.ArrayList; 4 import java.util.stream.Stream; 5 6 /* 7 2.3 Stream流的"中间操作"方法 8 9 中间操作的意思是,执行完此方法之后,Stream流
阅读全文
摘要:1 package day14.lesson2; 2 3 import java.util.ArrayList; 4 5 /* 6 2 Strem流 7 8 2.1 体验Stream流 9 10 案例需求 11 按照下面的要求完成集合的创建和遍历 12 创建一个集合,存储多个字符串元素 13 把集合
阅读全文
摘要:1 package day14.lesson1; 2 3 import java.util.function.Function; 4 5 /* 6 1.10 常用函数式接口之Function 7 8 Function<T,R>接口通常用于对参数进行处理,转换(处理逻辑由Lambda表达式实现),然后
阅读全文
摘要:1 package day14.lesson1; 2 3 import java.util.function.Predicate; 4 5 /* 6 1.8 常用函数式接口之Predicate 7 8 Predicate<T>接口通常用于判断参数是否满足指定的条件 9 10 boolean test
阅读全文
摘要:1 package day14.lesson1; 2 3 import java.util.function.Consumer; 4 5 /* 6 1.6 常用函数式接口之Consumer 7 8 Consumer接口 9 Consumer<T>接口也被称为消费型接口,它消费的数据的数据类型由泛型T
阅读全文
摘要:1 package day14.lesson1; 2 3 import java.util.function.Supplier; 4 5 /* 6 1.4 常用函数式接口之Supplier 7 8 JDK8在java.util.function包中预定义了大量函数式接口 9 重点学习四个:Suppl
阅读全文
摘要:1 package day14.lesson1; 2 3 /* 4 1 函数式接口 5 6 1.1 函数式接口概述 7 8 概念 9 有且仅有一个抽象方法的接口 10 java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口 11 只有确保接口中有且仅有一
阅读全文
摘要:1 package day13.lesson3.p3; 2 3 /* 4 3.6 Lambda表达式支持的方法引用:引用构造器 5 6 引用构造器,其实就是引用构造方法 7 8 格式 9 类名::new 10 范例 11 Student::new 12 13 练习描述 14 定义一个类(Studen
阅读全文
摘要:1 package day13.lesson3.p3; 2 3 /* 4 3.5 Lambda表达式支持的方法引用:引用类的实例方法 5 6 引用类的实例方法,其实就是引用类中的成员方法 7 8 格式 9 类名::成员方法 10 范例 11 String::substring 12 public S
阅读全文
摘要:1 package day13.lesson3.p3; 2 3 /* 4 3.4 Lambda表达式支持的方法引用:引用对象的实例方法 5 6 引用对象的实例方法,其实就引用类中的成员方法 7 8 格式 9 对象::成员方法 10 范例 11 "HelloWorld"::toUpperCase 12
阅读全文
摘要:1 package day13.lesson3.p3; 2 3 /* 4 3.3 Lambda表达式支持的方法引用:引用类方法 5 6 引用类方法,其实就是引用类的静态方法 7 8 格式 9 类名::静态方法 10 范例 11 Integer::parseInt 12 Integer类的方法:pub
阅读全文
摘要:1 package day13.lesson3.p1; 2 3 /* 4 3 方法引用 5 6 3.1 体验方法引用 7 8 方法引用的出现原因 9 在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作 10 那么考虑一种情况: 11 如果我们在Lambda中所指定
阅读全文
摘要:1 package day13.lesson2; 2 3 /* 4 2.3 接口中私有方法 5 6 私有方法产生原因 7 Java 9中新增了带方法体的私有方法,这其实在Java 8中就埋下了伏笔:Java 8允许在接口中定义带方法体的默认方法和静态方法。 8 这样可能就会引发一个问题:当两个默认方
阅读全文
摘要:1 package day13.lesson2; 2 3 /* 4 2.2 接口中静态方法 5 格式 6 [public] static 返回值类型 方法名(参数列表) { } 7 范例 8 [public] static void show() { 9 } 10 注意事项 11 静态方法只能通过接
阅读全文
摘要:1 package day13.lesson2; 2 3 /* 4 2 接口组成更新 5 6 2.1 接口组成更新概述 7 8 常量 9 public static final 10 抽象方法 11 public abstract 12 默认方法(Java 8) 13 静态方法(Java 8) 14
阅读全文
摘要:1 package day13.lesson1.p3; 2 3 /* 4 1.8 Lambda表达式和匿名内部类的区别 5 6 所需类型不同 7 匿名内部类:可以是接口,也可以是抽象类,还可以是具体类 8 Lambda表达式:只能是接口 9 10 使用限制不同 11 如果接口中有且仅有一个抽象方法,
阅读全文