java中的设计模式

背景:讲设计模式的时候,最好能够结合源码来进行理解,逼格更高

策略模式

泛型接口比较实用的使用场景就是用作策略模式的公共策略,比如 Java 解惑:Comparable 和 Comparator 的区别 中介绍的 Comparator,它就是一个泛型接口

迭代器模式 iterator

适配器模式

容器中使用到了

https://www.bookstack.cn/read/Interview-Notebook/notes-Java%20%E5%AE%B9%E5%99%A8.md

 java.util.Arrays#asList() 可以把数组类型转换为 List 类型。

@SafeVarargs
public static <T> List<T> asList(T... a)

如果要将数组类型转换为 List 类型,应该注意的是参数列表为泛型的变长参数,因此不能使用基本类型数组作为参数,只能使用相应的包装类型数组。

Integer[] arr = {1, 2, 3};
List list = Arrays.asList(arr);

也可以使用以下方式生成 List。

List list = Arrays.asList(1,2,3);

模板方法模式 

AQS是个底层框架,采用模板方法模式

(转)Java并发包基石-AQS详解

原文地址:https://www.cnblogs.com/lixuwu/p/10829355.html