![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java高级
文章平均质量分 92
zhuzZi
这个作者很懒,什么都没留下…
展开
-
泛型通配符 与 有限制的泛型通配符
一、泛型通配符 子父类关系: List<String> list1 = new ArrayList<>() List<Object> list2 = new ArrayList<>() list1 = list2//编译错误 List<?> list = null; list = list1; list = list2; 结论: 虽然泛型参数A B之间有子父类类关系,但G< A>和G< B>之间却没有子父类关系。 G&原创 2020-08-10 18:01:27 · 146 阅读 · 0 评论 -
泛型练手题
声明一个泛型类GenericExercise< T>,内部提供一个私有的Map<String,T>,实现增、删、改、查、遍历 User.java import java.util.Objects; public class User { private int id; private int age; private String name; public int getId() { return id; }原创 2020-08-10 16:44:05 · 99 阅读 · 0 评论 -
Java比较器----Comparable和Comparator
Java对象正常情况下,只能进行比较:== 或 !=,不能使用 > or < ,但是在开发中,可能需要对多个对象排序,言外之意,就需要比较对象的大小。 如何实现?使用两个接口中任意一个:Comparable 或 Comparator Comparable接口----自然排序 像String、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式 像String、包装类等重写了compareTo方法以后,进行了从小到大的排列 重写compar原创 2020-08-05 23:25:19 · 137 阅读 · 0 评论 -
Java线程通信+生产者消费者问题
新的笔记,继续冲!!!随手整理的,有错误的话轻喷,谢谢,哈哈哈。 先从问题引入:使用两个线程打印1-100,线程1、线程2交替打印。 首先分析一下:这是一个多线程问题,就要涉及到线程的安全,看过前面的博客,再来实现这个问题肯定不难,但是还要满足交替这个条件,这就要通过线程之间的通信来解决。线程1打印完一个就要通知线程2来打印。 1.涉及的方法 wait():当前线程阻塞,释放同步监视器 notify():唤醒一个被阻塞的线程。如果有多个线程被阻塞,唤醒优先级高的(相同则随机 notifyall():唤醒全原创 2020-08-04 23:19:32 · 136 阅读 · 0 评论 -
单例模式的两种方式,线程安全的懒汉式单例模式
随手记。 单例模式作为23种设计模式种比较经典的,一般都要求能够手写(很简单),下面写一下两种实现方式: 1.饿汉式 步骤: 1.新建一个类,提供私有构造器 2.使用构造器声明当前对象实例成员 3.声明public static的返回当前类对象的方法 4.要在方法中使用私有对象成员,要将实例成员声明为static的 public class Test { // 饿汉式 单例模式 public static void main(String[] args) { Bank b1 = Bank.getI原创 2020-08-02 15:06:31 · 515 阅读 · 0 评论