栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 5+中的静态字符串常量VS枚举

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 5+中的静态字符串常量VS枚举

是的,命名似乎有点长。但是没有想象中的那么多…

  1. 因为enum类已经给出了一些上下文( “这属于哪个常数集?” ), 所以实例名称通常比常数名称短 (强类型已与其他枚举中的相似命名实例区分开)。

  2. 另外,您可以 使用静态导入 来进一步减少长度。您不应在各处使用它,以免造成混淆,但我认为与枚举紧密关联的代码可以使用。

  3. 在枚举上的 开关中 ,您不使用类名。(在Java 7之前的Strings上甚至无法进行切换。)

  4. 在enum类本身中 ,使用短名称。

  5. 由于枚举有方法,因此许多会大量使用常量的低级代码可能会从业务代码迁移到枚举类本身(动态或静态方法)。如我们所见,将 代码迁移到枚举 可进一步减少长名称的使用。

  6. 常量通常按组进行处理,例如

    if
    用6个常量之一或其他四个常量进行相等性测试。枚举配
    EnumSets
    有一种
    contains
    方法(或类似的返回适当组的动态方法),使您可以 处理一个组作为一个组 (作为第二个优点,请注意,这两种实现分组的速度非常快-O(1)-内存很低!)。

综合以上几点, 我发现实际代码要短得多



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430883.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号