小编Iva*_*met的帖子

Arrays.copyOfRange(byte [],int,int)背后的逻辑是什么奇怪的行为?

谁能解释一下Arrays.copyOfRange(byte [],int,int))奇怪行为背后的逻辑?我可以用简单的例子来说明我的意思:

byte[] bytes = new byte[] {1, 1, 1};
Arrays.copyOfRange(bytes, 3, 4); // Returns single element (0) array
Arrays.copyOfRange(bytes, 4, 5); // Throws ArrayIndexOutOfBoundsException
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我都会复制数组边界之外的范围(即start >= array.length),因此错误的条件对我来说至少是奇怪的(如果from < 0from > original.length).在我看来应该是:如果from < 0from >= original.length.也许我错过了什么?

java arrays standard-library

9
推荐指数
2
解决办法
583
查看次数

标签 统计

arrays ×1

java ×1

standard-library ×1