-
-
Notifications
You must be signed in to change notification settings - Fork 925
Commit
- 9.4.12.0
- 9.4.11.0
- 9.4.10.0
- 9.4.9.0
- 9.4.8.0
- 9.4.7.0
- 9.4.6.0
- 9.4.5.0
- 9.4.4.0
- 9.4.3.0
- 9.4.2.0
- 9.4.1.0
- 9.4.0.0
- 9.3.15.0
- 9.3.14.0
- 9.3.13.0
- 9.3.12.0
- 9.3.11.0
- 9.3.10.0
- 9.3.9.0
- 9.3.8.0
- 9.3.7.0
- 9.3.6.0
- 9.3.5.0
- 9.3.4.0
- 9.3.3.0
- 9.3.2.0
- 9.3.1.0
- 9.3.0.0
- 9.2.21.0
- 9.2.20.1
- 9.2.20.0
- 9.2.19.0
- 9.2.18.0
- 9.2.17.0
- 9.2.16.0
- 9.2.15.0
- 9.2.14.0
- 9.2.13.0
- 9.2.12.0
- 9.2.11.1
- 9.2.11.0
- 9.2.10.0
- 9.2.9.0
- 9.2.8.0
- 9.2.7.0
- 9.2.6.0
- 9.2.5.0
- 9.2.4.1
- 9.2.4.0
- 9.2.3.0
- 9.2.2.0
- 9.2.1.0
- 9.2.0.0
- 9.1.17.0
- 9.1.16.0
- 9.1.15.0
- 9.1.14.0
- 9.1.13.0
- 9.1.12.0
- 9.1.11.0
- 9.1.10.0
- 9.1.9.0
- 9.1.8.0
- 9.1.7.0
- 9.1.6.0
- 9.1.5.0
- 9.1.4.0
- 9.1.3.0
- 9.1.2.0
- 9.1.1.0
- 9.1.0.0
- 9.0.5.0
- 9.0.4.0
- 9.0.3.0
- 9.0.1.0
- 9.0.0.0
- 9.0.0.0.rc2
- 9.0.0.0.rc1
- 9.0.0.0.pre2
- 9.0.0.0.pre1
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,78 @@ | |
|
||
public abstract class ArrayUtils { | ||
|
||
/** | ||
* Extracts part of an array into a newly allocated Object[] array. Does not perform safety checks on parameters. | ||
* @param source the source array whose values should be extracted | ||
* @param start the start index, must be >= 0 and < source.length | ||
* @param end the end index (exclusive), must be >= 0 and <= source.length and >= start | ||
* @return a newly allocated array with the extracted elements and length (end - start) | ||
*/ | ||
public static Object[] extractRange(int[] source, int start, int end) { | ||
assert checkExtractRangeArgs(source, start, end); | ||
int length = end - start; | ||
Object[] result = new Object[length]; | ||
System.arraycopy(source, start, result, 0, length); | ||
return result; | ||
} | ||
|
||
private static boolean checkExtractRangeArgs(int[] source, int start, int end) { | ||
assert source != null; | ||
assert start >= 0; | ||
assert start <= source.length; | ||
assert end >= start; | ||
assert end <= source.length; | ||
return true; | ||
} | ||
|
||
/** | ||
* Extracts part of an array into a newly allocated Object[] array. Does not perform safety checks on parameters. | ||
* @param source the source array whose values should be extracted | ||
* @param start the start index, must be >= 0 and < source.length | ||
* @param end the end index (exclusive), must be >= 0 and <= source.length and >= start | ||
* @return a newly allocated array with the extracted elements and length (end - start) | ||
*/ | ||
public static Object[] extractRange(long[] source, int start, int end) { | ||
assert checkExtractRangeArgs(source, start, end); | ||
int length = end - start; | ||
Object[] result = new Object[length]; | ||
System.arraycopy(source, start, result, 0, length); | ||
return result; | ||
} | ||
|
||
private static boolean checkExtractRangeArgs(long[] source, int start, int end) { | ||
assert source != null; | ||
assert start >= 0; | ||
assert start <= source.length; | ||
assert end >= start; | ||
assert end <= source.length; | ||
return true; | ||
} | ||
|
||
/** | ||
* Extracts part of an array into a newly allocated Object[] array. Does not perform safety checks on parameters. | ||
* @param source the source array whose values should be extracted | ||
* @param start the start index, must be >= 0 and < source.length | ||
* @param end the end index (exclusive), must be >= 0 and <= source.length and >= start | ||
* @return a newly allocated array with the extracted elements and length (end - start) | ||
*/ | ||
public static Object[] extractRange(double[] source, int start, int end) { | ||
assert checkExtractRangeArgs(source, start, end); | ||
int length = end - start; | ||
Object[] result = new Object[length]; | ||
System.arraycopy(source, start, result, 0, length); | ||
return result; | ||
} | ||
|
||
private static boolean checkExtractRangeArgs(double[] source, int start, int end) { | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
thomaswue
Contributor
|
||
assert source != null; | ||
assert start >= 0; | ||
assert start <= source.length; | ||
assert end >= start; | ||
assert end <= source.length; | ||
return true; | ||
} | ||
|
||
/** | ||
* Extracts part of an array into a newly allocated Object[] array. Does not perform safety checks on parameters. | ||
* @param source the source array whose values should be extracted | ||
|
You can have only a single check method if you pass in the array as an object parameter and use Arrays.getLength.