【问题标题】:Can't declare a long array in java [duplicate]无法在java中声明长数组[重复]
【发布时间】:2014-09-11 15:40:43
【问题描述】:

代码:

 long Height ;
 long[][] results = new long[Height][Height];

Eclipse 给我一个错误 但是:

long[][] results = new long[(int) Height][(int) Height];

这不是。我想要一个长的范围,所以我想要一个长数组

【问题讨论】:

标签: java arrays


【解决方案1】:

数组将包含long 值,但数组大小仅接受ints

【讨论】:

  • 我要补充一点,即使 Height 被强制转换,该数组的行为仍然像一个 long 数组。
  • 我想要那个范围的数字
  • @user3856587 为什么你想要一个 94109400 元素的数组?这可能不适合记忆。
  • 也许你想在数组里面长,而不是大小?
【解决方案2】:

数组大小应该是使用 int 的状态。你不能用很长时间。 所以你可以拥有的最大二维数组是

long[][] results = new long[Integer.MAX_VALUE - 1][Integer.MAX_VALUE -1];

Integer.MAX_VALUE2147483647

所以如果你想拥有更多,那么最好寻找一些其他的数据结构

【讨论】:

    猜你喜欢
    • 2013-12-17
    • 2013-05-02
    • 2017-09-02
    • 2012-12-14
    • 2012-12-31
    • 2012-06-11
    • 1970-01-01
    • 2021-11-05
    相关资源
    最近更新 更多