Mega Code Archive

 
Categories / Java / Collections Data Structure
 

Checks whether two arrays are the same length, treating null arrays as length 0

import java.lang.reflect.Array; /*   * Licensed to the Apache Software Foundation (ASF) under one or more  *  contributor license agreements.  See the NOTICE file distributed with  *  this work for additional information regarding copyright ownership.  *  The ASF licenses this file to You under the Apache License, Version 2.0  *  (the "License"); you may not use this file except in compliance with  *  the License.  You may obtain a copy of the License at  *  *      http://www.apache.org/licenses/LICENSE-2.0  *  *  Unless required by applicable law or agreed to in writing, software  *  distributed under the License is distributed on an "AS IS" BASIS,  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  *  See the License for the specific language governing permissions and  *  limitations under the License.  *  *  */ /**  * @author Stephen Colebourne  * @author Moritz Petersen  * @author <a href="mailto:fredrik@westermarck.com">Fredrik Westermarck</a>  * @author Nikolay Metchev  * @author Matthew Hawthorne  * @author Tim O'Brien  * @author Pete Gieser  * @author Gary Gregory  * @author <a href="mailto:equinus100@hotmail.com">Ashwin S</a>  * @author Maarten Coene  * @since 2.0  * @version $Id: ArrayUtils.java 632503 2008-03-01 00:21:52Z ggregory $  */ public class Main {   // Is same length   //-----------------------------------------------------------------------   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.    *    * <p>Any multi-dimensional aspects of the arrays are ignored.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */       public static boolean isSameLength(Object[] array1, Object[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(long[] array1, long[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(int[] array1, int[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(short[] array1, short[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(char[] array1, char[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(byte[] array1, byte[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(double[] array1, double[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(float[] array1, float[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   }   /**    * <p>Checks whether two arrays are the same length, treating    * <code>null</code> arrays as length <code>0</code>.</p>    *     * @param array1 the first array, may be <code>null</code>    * @param array2 the second array, may be <code>null</code>    * @return <code>true</code> if length of arrays matches, treating    *  <code>null</code> as an empty array    */   public static boolean isSameLength(boolean[] array1, boolean[] array2) {       if ((array1 == null && array2 != null && array2.length > 0) ||           (array2 == null && array1 != null && array1.length > 0) ||           (array1 != null && array2 != null && array1.length != array2.length)) {               return false;       }       return true;   } }