代码之家  ›  专栏  ›  技术社区  ›  Srinivas

在Java中跨多个类共享常量字符串好吗?[已关闭]

  •  2
  • Srinivas  · 技术社区  · 7 年前

    6 回复  |  直到 7 年前
        1
  •  2
  •   GhostCat    7 年前

    简单:当多个类需要相同的信息时,该信息应该有一个“根”。

    所以是的:这是绝对的 练习避免在不同的地方重新声明相同的值。拥有一个“全局”常数有助于避免代码重复,从而防止错误 过后 ,您可能需要更改这些值。

        2
  •  2
  •   Joop Eggen    7 年前

    瓶颈 : 强制声明按字母顺序排序。

    在里面 require 常数类模块,可能导致不必要的模块图。

    在注释中作为参数。如果需要唯一性等,注释扫描可以收集这些值。

    最后是共享常数。 仍是我的最爱。

    此外,常量类模式往往与字符串常量一起使用。这散发着代码的气味,因为这是一种粗野 自动机械装置 、OO、固定约定、声明性数据。

    对于数据库表和列,存在更好的机制。

    技术编译问题

        3
  •  1
  •   Jay    7 年前

    如果您认为您的字符串将在许多流中被引用,那么最好使用它。此外,这也是一种被广泛接受的做法。

        4
  •  1
  •   Kumar Panchal    7 年前

    例如

    public interface ICommonConstants {
        public static final String ENCODING_TYPE_UTF8="UTF-8";
    } 
    

    ICommonConstants.ENCODING_TYPE_UTF8
    
        5
  •  1
  •   Luciano van der Veekens    7 年前

    代码复制是一种 代码气味 如果你不想使用现成的常量,你需要为使用它的每个类一次又一次地重新声明字符串,这很糟糕。

    这会导致代码的可维护性降低,因为当重复的字符串需要更改时,您忘记在其中一个类中更新它,代码就会中断。

    public final class MyDefs {
        public static final String A = "a";
        public static final String B = "b";
    
        private MyDefs() {
            // Utility class, don't initialize.
        }
    }
    
        6
  •  1
  •   Ndumiso    7 年前

    我推荐一个 Enum