Java 面试必考题:枚举

前天下午两点,一线互联网大厂面试,面试官很困,喃喃的说:写个单例吧?我其实很困,但是听到这个消息,立马精神抖擞,哗哗哗的写了半页纸,列出了各种单例写法...看完我写的代码,面试官清风徐来,兴奋的跌落了眼镜,然后清清嗓子:请用枚举实现单例...10分钟过去了,我还是用笔头戳着纸,毫无头绪,最后只能回去等通知了...

回去不吃饭不睡觉,好好研究了一番枚举的底层原理,终于度过了从痛彻心扉到茅塞顿开的煎熬,把自己对枚举的心得体会,好好总结一番,于是有了这一期的GitChat:

  1. 枚举声明为什么是enum不是class,这样做的意图是什么?
  2. 为什么说enum本质是一个继承了Enum类的class?
  3. 为什么使用枚举代替常量类?
  4. 究竟是枚举的性能好,还是常量类好?
  5. 为什么枚举要实现Comparable接口?
  6. 为什么枚举要实现Serializable接口?
  7. 为什么枚举支持泛型?
  8. 枚举的底层数据结构是数组还是链表?
  9. 枚举有哪些应用场景?
  10. 枚举是如何实现单例的?

阅读全文: http://gitbook.cn/gitchat/activity/5cef45d4f1a139268b386e8f

一场场看太麻烦?成为 GitChat 会员,畅享 1000+ 场 Chat !点击查看

猜你喜欢

转载自blog.csdn.net/valada/article/details/91348866
今日推荐