mercredi 27 juillet 2016

Length of array regardless of type [duplicate]

This question already has an answer here:

I'm doing some error handling on objects that could be any type, and I want to have special handling for arrays. What I can't figure out is how to get the length of the array regardless of whether it's an array of primitives or Objects. Here's what I mean:

public void checkMyValue(Object valueToCheck) {

  // ... null checking, other type checking, etc. Then...

  if (valueToCheck.getClass().isArray()) {
    // This will throw a ClassCastException for primitive arrays
    int length = ((Object[]) valueToCheck).length; 
    if (length == 0) {
        throw new IllegalArgumentException("Empty arrays are not allowed");
    }
  }
}

Is there any way to get the length of a primitive array without explicitly checking each primitive type?





Aucun commentaire:

Enregistrer un commentaire