当前位置: 首页 > 面试题库 >

你可以索引一个长整型的数组吗?

龚星洲
2023-03-14
问题内容

是否可以使用long int索引数组?还是不允许这样做?

我的意思是在代码中吼叫。

long x = 20;
char[] array = new char[x];

要么

long x = 5;
char res;
res = array[x];

问题答案:

如果您查看10.4
中的Java文档:

数组必须由int值索引;short,byte或char值也可以用作索引值,因为它们经过一元数值提升(第5.6.1节)并成为int值。

尝试访问具有长索引值的数组组件会导致编译时错误。

您将得到的错误看起来像这样:

test.java:12: possible loss of precision
found   : long
required: int
        System.out.println(array[index]);
                                 ^
1 error

如果由于某种原因您将索引存储在long中,只需将其强制转换为int然后对数组进行索引。您无法创建足够大的数组,因此无法在Java中用整数对它进行索引。因此,这里不需要长整数。



 类似资料:
  • 问题内容: 我想编写一个函数,根据提供的 bin概率 从训练集中随机选择元素。我 将集合索引划分为11个bin ,然后为它们创建 自定义概率 。 我收到以下错误: 我发现这很奇怪,因为我已经检查了创建的索引数组。它是 一维 ,是 整数 ,并且是 标量 。 我想念什么? 注:我试图通过使用。同样的错误。 问题答案: 错误消息可能在某种程度上具有误导性,但要点是,它是一个列表,而不是一个numpy数组

  • 问题内容: 是否有更好的方法从获取? 我们可以摆脱吗? 问题答案: 您可以从给定的数组中选择,使用numpy.choose该数组可以从索引数组(在您的情况下select_id)和一组数组(在您的情况下input_array)中构造一个数组以供选择。但是,您可能首先需要转置input_array以匹配尺寸。下面显示了一个小示例:

  • 和 现在我想对数组进行矢量化,以便将它们打印在一起。我尽量 或 它给出了TypeError:只有整数标量数组才能转换为标量索引

  • 我正在尝试一个来自github链接的tensorflow的简单演示代码 我目前正在使用python版本3.5。2 我在命令行中尝试board.py时遇到了这个错误。我已经安装了运行此操作所需的所有依赖项。

  • 以下代码: 只有整数标量数组可以转换为标量索引 请注意,我的问题与“numpy数组类型错误:只有整数标量数组可以转换为标量索引”的问题不同,后者正在尝试更复杂的操作。 我在这个问题中的错误是,我试图在一个普通的python列表中使用索引列表——参见我的答案。我希望它发生得更广泛,而不仅仅是使用范围和洗牌。