ds.addGoods(ContentEnums.Apple);
Goods goods_2 = Goods.addGoods(ContentEnums.Computer);
System.out.println(goods.getName());
System.out.println(goods_2.getName());
}
}
这样,我们就可以限制创建对象时的输入值类型了
枚举可以使用==来比较吗?
可以使用==
来比较 enum 实例,编译器会自动为你提供equals()
和 hashCode()
方法。Enum
类实现了 Comparable
接口,所以它具有 compareTo()
方法。同时,它还实现了 Serializable
接口。
枚举实现单例
枚举类型是天生线程安全的,并且只会装载一次,我们可以利用了枚举的这个特性来实现单例
public enum SingleInstance {
INSTANCE;
public void funDo() {
System.out.println("doSomething");
}
}
使用方式:SingleInstance.INSTANCE.funDo()
这种方法充分 利用枚举的特性,让JVM来帮我们保证线程安全和单一实例的问题。写法也极其简洁。
参考:
《On Java 8》
《Effective java》第3版
本篇文章到这里就结束啦,很感谢你能看到最后,如果觉得文章对你有帮助,别忘记关注我!更多精彩的文章