Added an array equivalent of Collection.toArray(T[]) to convert arrays
to sub-types. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1967 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -22,6 +22,7 @@ package com.samskivert.util;
|
|||||||
|
|
||||||
import java.lang.reflect.Array;
|
import java.lang.reflect.Array;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
@@ -817,6 +818,23 @@ public class ArrayUtil
|
|||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Similar to {@link Collection#toArray}, this method copies the contents
|
||||||
|
* of the first parameter to the second, creating a new array of the same
|
||||||
|
* type if the destination array is too small to hold the contents of the
|
||||||
|
* source.
|
||||||
|
*/
|
||||||
|
public static <S extends Object, T extends S> T[] copy (
|
||||||
|
S[] values, T[] store)
|
||||||
|
{
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
T[] dest = (store.length >= values.length) ? store :
|
||||||
|
(T[])Array.newInstance(store.getClass().getComponentType(),
|
||||||
|
values.length);
|
||||||
|
System.arraycopy(values, 0, dest, 0, values.length);
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
/** The default random object used when shuffling an array. */
|
/** The default random object used when shuffling an array. */
|
||||||
protected static Random _rnd = new Random();
|
protected static Random _rnd = new Random();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user