- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 软件构造复习笔记:Design Patterns for Reuse and Maintainability
一、Factory Method Pattern 当client不知道或不确定要创建哪个具体类的实例,或者不想再client代码中知名要具体创建的实例时,用工厂方法。 定义一个用于创建对象的接口,让该接口的子类型来决定实例化哪一个类,从而使一个类的实例化延迟到其子类。 工厂接口及其实现类:interface TraceFactory{ Trace getTrace(); ...}public class SystemTrace...
2021-07-08 16:32:49 182
原创 函数式接口的实现方法之三:构造器引用 && 使用Comparator对数组排序
一、构造器引用 和方法引用类似,只不过方法名为new,如Interval::new就是Interval的构造器引用。 也可以用数组类型的构造引用,如int[]::new,它等价于 x->new int[x],一个参数指定数组大小。 构造引用可以为构造泛型数组提供方便,Java规定无法构造类型为T的数组,因为表达式new T[n]会被翻译成new Object[n]。例如,List<T>的toArray()方法只能返回Object数组,使...
2021-07-06 19:21:39 339
原创 函数式接口的实现方法之二:方法引用
一、方法引用的功能 lambda表达式有时会涉及一个方法:var timer = new Timer(100,event->System.out.println(event)); 只要出现一个定时器事件就打印这个事件对象,这时可以直接把println方法传递到Timer构造器:var timer = new Timer(100, System.out::println); 表达式System.out::println就是一个方法引用,它...
2021-07-05 20:11:45 360
原创 函数式接口的实现方法之一:使用lambda表达式
一、问题的提出 实现自定义类对象之间的比较可以使用向Collections.sort方法传递一个Comparator函数式接口实现,而实现函数式接口有多种方法,下面将主要阐述使用lambda表达式的实现方法。 依然使用不可变类Interval:/** * An interval defind by start and end, start <= end, * represents the section from start to end includi...
2021-07-05 00:16:42 660
原创 实现可比较类---Comparable及Comparator
一、问题的提出: 现需要实现不可变类Interval,用开始和结束时间标识一个时间间隔:/** * An interval defind by start and end, start <= end, * represents the section from start to end including both start and end. * * Interval is immutable */public class Interval { ...
2021-07-01 01:09:41 283
抓包软件wireshark的使用、用libcap实现sniffer
2022-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人