使用 short 作为数组的索引是否安全?

Is it safe to use a short as the index for an array?

在 java 或 swift 中,在数组索引中使用 short 是否安全,例如

short r = 2;
System.out.println(myArray[r]);

通常我们为此使用 int,但直到现在我才想到使用 short。

一般用short作为数组索引是没有问题的。您也可以使用 byte as array index。但是你只需要记住数组索引不能为负数。

在java中short是16位或2字节。所以它足够长,可以在正常情况下用作数组的索引。

安全吗?是的。我不会推荐它。人们 copy/paste 一直在编码。您可以在循环中复制 short 用法。

java 中的数组最大大小为 Integer.MAX_VALUE 所以如果你要写

for(short s = 0; s < array.length; s++) { // ... }

您最终会出现溢出,因为数组的长度可能大于短数组。