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

如何在类中包含(常量)基本数据表?

  •  1
  • Durandal  · 技术社区  · 16 年前

    有些桌子比较大。在代码中初始化它们会破坏类文件,在某些情况下,它还会超出类初始值设定项的大小限制。

    目前,我已将数据存储在文件中,并使用getResourceAsStream()读取静态块中的文件。

    有没有更好的方法使数据与类文件不可分离?不需要独立于类替换数据。

    3 回复  |  直到 16 年前
        1
  •  1
  •   erickson    16 年前

    使用类资源听起来非常合适。它们被滥用的目的很多,但这是一个伟大的应用。

        2
  •  0
  •   irreputable    16 年前

    也许您可以用字符串文字(64K限制)对数据进行编码。

    final byte[] table = decode("20,5F,A9,3D,E3.........");
    
        3
  •  0
  •   Mark Peters    16 年前

    我想这要看情况而定。例如,对于DES或AES之类的东西,这些表实际上是算法的固有特性:在我看来,将它们与使用它们的代码分开没有多大意义。在这些情况下,表不是真正的“数据”:它们是更多方式的代码。

    当我编写一个DES实现时,我仍然想让它们有点碍事,所以我将它们作为包私有类的静态成员包含在同一个包中。你甚至可以做一个 static import