- 博客(11)
- 收藏
- 关注
原创 effective java 第6章 枚举和注解 第30条 用enum代替int常量
枚举是什么? 枚举类型是指由一组固定的常量组成合法值的类型。枚举类型是解决常量int的另一种解决方案。枚举类型的简单示例:public enum AlarmPoints {STAIR1,STAIR2,LOBBY,OFFICE1,OFFICE2,OFFICE3,OFFICE4,BATHROOM,UTILITY,KITCHEN}枚举的优势: 枚举类型是真正的f...
2018-07-20 00:38:43 456
原创 Thinking in java 第19章 枚举类型 19.8 EnumSet
EnumSet 的特点是快:下面是使用方法:package com.yaoqiang.demo;import java.util.EnumSet;import static com.yaoqiang.demo.AlarmPoints.*;public class EnumSets { public static void main(String[] args) { ...
2018-07-18 23:19:39 129
原创 关于集合的筛选,利用CollectionUtils筛选出符合条件的Collection集合
在工作中,很多时候要使用到集合筛选,而自己又不愿意写循环,在网上找到一种方法 CollectionUtils.select,下面是个人的理解: /** * Selects all elements from input collection which match the given * predicate into an output collection....
2018-07-18 10:47:52 4012
原创 Thinking in java 第19章 枚举类型 19.1-19.7
public class EnumClass { public static void main(String[] args) { Arrays.asList(Shrubbery.values()).forEach(e->{ System.out.println(e + "ordinal:" + e.ordinal()); ...
2018-07-17 00:24:26 158
原创 effective java 第5章 泛型 第29条 优先考虑类型安全的异构容器
在集合的用法中,泛型充当被参数化的容器。这样就限制你每个容器只能有固定数目的类型参数。一般来说,这正是你想要的。但是,有的时候,我们需要更多的灵活性,比如,我们想安全的访问数据库的所有列,有一种方法可以容易做到这一点。这种想法是将键(key)进行参数化而不是将容器进行参数化。然后将参数化的键交给容器,来插入或者获取值。用泛型系统来确保值的类型与它的键相符。public class Favorite...
2018-07-15 23:20:09 216
原创 effective java 第28条 利用有限制通配符来提升API的灵活性
有这样一个类:public class Stack<E> { private E[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack(){ elements = (E[]) new O...
2018-07-14 18:16:00 234
原创 effective java 第27条 优先考虑泛型方法
最简单的使用: public static <E> Set<E> union(Set<E> s1,Set s2){ Set<E> result = new HashSet<>(s1); result.addAll(s2); return result; }这是最简单的使用,不会...
2018-07-14 14:55:21 188
原创 15.15.3 使用动态代理来实现混型
可以使用动态代理来实现混型,通过使用动态代理,所产生的类型将会是已经混入的组合类型。由于是使用的jdk的动态代理,所有必须实现接口class ProxyMixin implements InvocationHandler { //map集合,记录所有的方法名称和对象 Map<String,Object> delegatesByMethod; public Pro...
2018-07-09 00:21:59 130
原创 15.15 混型
术语混型似乎随着时间的推移拥有了无数的含义,但是其最基本的感念是混合了多个类的能力,以产生一个可以表示混型中所有类型的类。这往往是你最后的手段,它使组装多个类变得简单易行。 混型的价值之一是它们可以将特性和行为一致的应用于多个类之上。如果想在混型中修改某些东西,作为一种意外的好处,这些修改将会应用于混型所应用的所有类型智商。正是由于此,混型有一点面向切面编程的味道(A...
2018-07-08 22:34:02 159
原创 15.13 泛型动态类型安全
在有的时候,泛型不能起到安全保护的作用,比如: private static void add(List list){ list.add(123); } public static void main(String[] args) { List<String> l = new ArrayList<>(); ...
2018-07-08 21:27:40 454
原创 15.9泛型边界知识整理
看到泛型边界,这一章开始看得有点晕,所以看了下其他人的博客:https://blog.csdn.net/jiuoop/article/details/24980991https://blog.csdn.net/bbbbln/article/details/51943006关于extends 和 super 写下自己的理解:在这里首先要说:泛型不具备协变性。List<Object> li...
2018-07-03 01:59:25 323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人