ArrayUtilpublic final class ArrayUtil extends Object Provides:
- utility to check for equality |
Constructors Summary |
---|
private ArrayUtil()
// disallow instantiation
|
Methods Summary |
---|
public static boolean | arrayContainsNulls(java.lang.Object[] array)
boolean containsNulls = false;
for( int i = 0; i < array.length; ++i )
{
if ( array[ i ] == null )
{
containsNulls = true;
break;
}
}
return( containsNulls );
| public static boolean | arraysEqual(java.lang.Object array1, java.lang.Object array2)
boolean equal = array1 == array2;
if ( equal )
{
// same object or both null
return( true );
}
else if ( array1 == null || array2 == null)
{
return( false );
}
if ( array1.getClass() == array2.getClass() &&
ClassUtil.objectIsArray( array1 ) &&
Array.getLength( array1 ) == Array.getLength( array2 ) )
{
equal = true;
final int length = Array.getLength( array1 );
for( int i = 0; i < length; ++ i )
{
final Object a1 = Array.get( array1, i );
final Object a2 = Array.get( array2, i );
if ( a1 != a2)
{
if ( a1 == null || a2 == null )
{
equal = false;
}
else if ( ClassUtil.objectIsArray( a1 ) )
{
if ( ! arraysEqual( a1, a2 ) )
{
equal = false;
}
}
}
if ( ! equal )
break;
}
}
return( equal );
| public static T[] | newArray(java.lang.Class theClass, int numItems)
return (T[])( Array.newInstance( theClass, numItems ) );
| public static T[] | newArray(T[] items, int startIndex, int numItems)Create a new array from the original.
final Class<T> theClass = TypeCast.asClass( items.getClass().getComponentType() );
final T[] result = newArray( theClass, numItems );
System.arraycopy( items, startIndex, result, 0, numItems );
return( result );
| public static T[] | newArray(T[] items1, T[] items2)Create a new array consisting of originals and new.
final Class<T> class1 = TypeCast.asClass( items1.getClass().getComponentType() );
final Class<T> class2 = TypeCast.asClass( items2.getClass().getComponentType() );
if ( ! class1.isAssignableFrom( class2 ) )
{
throw new IllegalArgumentException();
}
final int length1 = Array.getLength( items1 );
final int length2 = Array.getLength( items2 );
final T[] result = newArray( class1, length1 + length2 );
System.arraycopy( items1, 0, result, 0, length1 );
System.arraycopy( items2, 0, result, length1, length2 );
return( result );
| public static T[] | newArray(T[] items, T item)Create a new array consisting of an original array, and a single new item.
final Class<T> theClass = TypeCast.asClass( items.getClass().getComponentType() );
final T[] result = newArray( theClass, items.length + 1 );
System.arraycopy( items, 0, result, 0, items.length );
result[ result.length - 1 ] = item;
return( result );
|
|