摘要:
一、概述 RegularEnumSet适用于枚举值个数小于等于64的EnumSet,RegularEnumSet定义了一个私有的long类型变量elements,long类型一共64位,如果某一位为1则表示该位对应的值对应的枚举值已经添加到RegularEnumSet中了,具体细节参考下面的源码分析 阅读全文
摘要:
一、概述 StringJoiner是java.util包下的一个工具类,是JDK 1.8引入的字符串拼接器。 作用是在构造字符串时,可以自动添加前缀、后缀及分隔符,而不需要自己去实现这些添加字符的逻辑。 虽然这也可以在StringBuilder类的帮助下在每个字符串之后附加分隔符,但StringJo 阅读全文
摘要:
一、概述 JumboEnumSet适用于枚举值个数大于64个的枚举类,其底层实现跟RegularEnumSet一样都是根据位是否为1来判断该枚举值是否添加到了Set中,不过因为枚举值个数大于64个,无法用64位的long类型来记录所有的枚举值,所以将RegularEnumSet中long类型的ele 阅读全文