代码之家  ›  专栏  ›  技术社区  ›  Andreas Hornig

Java:做自己的数据类型?(如长-长-双?)

  •  5
  • Andreas Hornig  · 技术社区  · 14 年前

    因此,如果您需要更精确的数据,而这是一种基本类型所不支持的,那么您可以“创建”自己的数据来满足您的需求。

    这可能吗?怎么可能?

    4 回复  |  直到 14 年前
        1
  •  16
  •   Bozho Michał Mech    14 年前

    看一看 BigDecimal

    为了回答您的问题-是的,您可以装箱数据类型,但它们不能是原始类型(例如 int , double 等等)。他们必须上课,就像 (和 BigInteger )

    以及使用 Big* 类-正如所写的,它们是不可变的。这意味着打电话 add(..) 不更改对象-它返回反映更改的新对象。即。

    BigDecimal dec = BigDecimal.ZERO;
    dec.add(new BigDecimal(5)); // nothing happens
    dec = dec.add(new BigDecimal(5)); // this works
    
        2
  •  8
  •   Jon Skeet    14 年前

    参考

    但正如其他人所说, BigDecimal BigInteger )应该是更精确的数值类型的起点。

        4
  •  1
  •   Reverend Gonzo    14 年前

    一切皆有可能。

    BigInteger和BigDecimal是您要找的。