package top.qaqaq.java.P692; import org.junit.jupiter.api.Test; import java.util.Optional; /** * @author RichieZhang * @create 2022-11-05 上午 9:48 */ public class OptionalTest …
1. Stream API的理解 1.2 java8提供了一套api,使用这套api可以对内存中的数据进行过滤、排序、映射、归约等操作。类似于sql对数据库中表的相关操作。
构造器引用与数组引用 1. 构造器引用格式: 类 :: new 5. 数组引用格式: 数组类型[] :: new
方法引用 6. 使用建议 如果给函数式接口提供实例,恰好满足方法引用的使用情景,大家就可以考虑使用方法引用给函数式接口提供实例。如果大家不熟悉方法引用,那么还可以使用Lambda表达式。
函数式接口 3. 总结 3.1 何时使用lambda表达式? 当需要对一个函数式接口实例化的时候,可以使用lambda表达式 3.2 何时使用给定的函数式接口? 如果我们开发中需要定义一个函数式接口,首先看看在已有的jdk提供的函数式接口是否提供了 能满足需求的函数式接口。如果有,则直接调用即可,不需要自己再自定义了。
反射应用四:动态代理 2. 静态代理 2.1 举例 实现Runnable接口的方法创建多线程。 Class MyThread implements Runnable{} //相当于被代理类 Class Thread implements Runnable{} //相当于代理类 main(){ MyThread t = new MyThread();…
反射的概述 5.相关API java.lang.Class: 反射的源头 java.lang.reflect.Method java.lang.reflect.Field java.lang.reflect.Constructor
Class类的理解与获取Class的实例 3. 总结:创建类的对象的方式? 方式一:new + 构造器 方式二:要创建Xxx类的对象,可以考虑Xxx、Xxxs、XxxFactory、XxxBuilder类中查看是否有静态方法的存在。可以调用其静态方法,创建Xxx对象。 方式三:通过反射
1. 写出获取Class实例的三种常见方式 Class clazz1 = String.class Class clazz2 = person.getClass(); //sout(person); //xxx.yyy.zzz.Person@... Class clazz3 = Class.forName(String classPath); //…
Path、Paths、Files的使用 2. Path的使用 ---jdk7提供 2.1 Path的说明: Path替换原有的File类。 3. Files工具类 ---jdk7提供 3.1 作用: 操作文件或文件目录的工具类
对象流的使用 2. 作用: ObjectOutputStream:内存中的对象 ---> 存储中的文件、通过网络传输出去:序列化过程 ObjectInputStream:存储中的文件、通过网络接收过来 ---> 内存中的对象:反序列化过程
1. 一个IP对应着哪个类的一个对象?InetAddress 实例化这个类的两种方式是? InetAddress.getByName(String host); InetAddress.getLocalHost();//获取本地ip 两个常用的方法是? getHostName() getHostAddress() 2. 传输层的TCP协议和UDP协…
转换流的使用 1.转换流涉及到的类:属于字符流 InputStreamReader:将一个字节的输入流转换为字符的输入流 解码:字节、字节数组 ---> 字符数组、字符串 OutputStreamWriter:将一个字符的输出流转换为字节的输出流 编码;字符数组、字符串 ---> 字节、字节数组 说明:编码决定了解码的方式 5.说明 文件编码的方式…
缓冲流的使用 2. 作用: 作用:提供流的读取、写入的速度 提高读写速度的原因:内部提供了一个缓冲区。默认情况下是8kb
节点流(或文件流) 注意 相对路径在IDEA和Eclipse中使用的区别? IDEA: 如果使用单元测试方法,相对路径基于当前Module的。 如果使用main()测试,相对路径基于当前Project的。 Eclipse: 单元测试方法还是main(),相对路径都是基于当前Project的。
IO流概述 4. 输入、输出的标准化过程 4.1 输入过程 ① 创建File类的对象,指明读取的数据的来源。(要求此文件一定要存在) ② 创建相应的输入流,将File类的对象作为参数,传入流的构造器中 ③ 具体的读入过程: 创建相应的byte[] 或 char[]。 ④ 关闭流资源 说明:程序中出现的异常需要使用try-chtch-…
1. 说明流的三种分类方式 数据单位:字节流、字符流 流向:输入流、输出流 流的角色:节点流、处理流 2. 写出4个IO流中的抽象基类,4个文件流,4个缓冲流 InputStream FileInputStream BufferedInputStream OutputStream FileOutputStream BufferedOutputStr…
File类的使用 2.2 路径的分类 说明: IDEA中: 如果大家开发使用Junit中的单元测试方法测试,相对路径即为当前Module下。 如果大家使用main()测试,相对路径即为当前的Project下。 Eclipse中: 不管使用单元测试方法还是使用main()测试,相对路径都是当前的Project下。
自定义泛型类、泛型接口、泛型方法 3. 应用场景举例: ORM思想(数据库中的表和Java中的类对应)
1. 如何遍历 Map 的 Key 集,value 集, key-value 集,使用上泛型 Map<String,Integer> map = new HashMap<String,Integer>(); map.put(); .... //遍历key Set<String> keySet = map.keyS…