[JAVA] Obtenez le type d'un élément d'un tableau pour déterminer s'il s'agit d'un tableau

Ce n'est pas nécessaire pour les programmes normaux, mais lors de la création d'une bibliothèque, ce type de traitement peut être nécessaire. L'environnement d'exécution est JDK 1.6.

Tips0022.java


package jp.avaj.lib.algo;

import jp.avaj.lib.test.ArTest;
import jp.avaj.lib.test.L;

class Tips0022 {
  public static void main(String[] args) {
    //
    String nonArray = "aaaa";
    Integer[] integerArray = new Integer[]{
      0,1,2,3
    };
    int[] intArray = new int[] {
      0,1,2,3
    };
    String[] strArray = new String[] {
      //Taille zéro
    };
    //
    //J'ai oublié quelles sont les variables ci-dessus, alors découvrons
    //
    //Lancer un cas de test
    ArTest.startTestCase("Tips0022");
    //
    boolean result;
    //
    // nonArray
    {
      //Vérifiez s'il s'agit d'un tableau
      result = nonArray.getClass().isArray();
      ArTest.isFalse("nonArray","result",result);
    }
    // integerArray
    {
      //Vérifiez s'il s'agit d'un tableau.
      result = integerArray.getClass().isArray();
      ArTest.isTrue("integerArray","result",result);
      //Obtenir le type d'éléments dans un tableau
      L.p("Éléments de integerArray="+integerArray.getClass().getComponentType().getName());
      //Découvrez si les éléments du tableau sont primitifs
      result = integerArray.getClass().getComponentType().isPrimitive();
      ArTest.isFalse("integerArray","result",result);
    }
    // intArray
    {
      //Vérifiez s'il s'agit d'un tableau
      result = intArray.getClass().isArray();
      ArTest.isTrue("intArray","result",result);
      //Obtenir le type d'éléments dans un tableau
      L.p("Éléments de intArray="+intArray.getClass().getComponentType().getName());
      //Découvrez si les éléments du tableau sont primitifs
      result = intArray.getClass().getComponentType().isPrimitive();
      ArTest.isTrue("intArray","result",result);
    }
    // strArray
    {
      //Vérifiez s'il s'agit d'un tableau
      result = strArray.getClass().isArray();
      ArTest.isTrue("strArray","result",result);
      //Obtenir le type d'éléments dans un tableau
      L.p("Éléments de strArray="+strArray.getClass().getComponentType().getName());
      //Découvrez si les éléments du tableau sont primitifs
      result = strArray.getClass().getComponentType().isPrimitive();
      ArTest.isFalse("strArray","result",result);
    }
    //Terminer le cas de test
    ArTest.endTestCase();
  }
}

Le résultat est le suivant.

Tips0022-result.txt


**** Tips0022 start ****
OK nonArray:result=false
OK integerArray:result=true
Éléments de integerArray=java.lang.Integer
OK integerArray:result=false
OK intArray:result=true
Éléments de intArray=int
OK intArray:result=true
OK strArray:result=true
Éléments de strArray=java.lang.String
OK strArray:result=false
**** Tips0022 summary ****
test count = 7
success    = 7

Recommended Posts

Obtenez le type d'un élément d'un tableau pour déterminer s'il s'agit d'un tableau
Que faire si vous ne pouvez pas obtenir le texte d'un élément dans Selenium
[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux
[Swift] Comment obtenir le nombre d'éléments dans un tableau (super basique)
[Java] Comment convertir un élément d'un tableau de type String en type Int
Bibliothèque pour vérifier s'il s'agit d'une chaîne au format IPv4
Comprenons le type Array (Element)!
Comment afficher la valeur lorsqu'il y a un tableau dans le tableau
L'histoire de toString () commençant par le passage d'un tableau à System.out.println
Comment obtenir la longueur d'un fichier audio avec Java
Comparer les éléments d'un tableau (Java)
Comment déterminer le nombre de parallèles
Convertir un tableau de chaînes en nombres
Comment convertir un tableau de chaînes en un tableau d'objets avec l'API Stream
Correspond à une propriété dont le type devient un tableau lorsqu'il est vide à l'aide de JsonDeserializer
[Java] Exemple de programme qui acquiert les valeurs maximum et minimum d'un tableau
Que faire si le message "Un serveur est déjà en cours d'exécution" s'affiche. Erreur lors de la tentative de démarrage du serveur rails
Comment obtenir le jour d'aujourd'hui
[Java] Est-il inutile de vérifier "l'identité" dans l'implémentation de la méthode equals ()?
[Note] [Débutant] Comment écrire lors de la modification de la valeur d'un élément de tableau dans une phrase répétée de Ruby
Est-il courant de ne pas écrire la balise de fermeture de la balise <P> dans Javadoc?
[Swift] Si le support de l'application est iOS 11 ou version ultérieure, il n'était pas nécessaire d'utiliser correctement Int et Int64
L'argument de link_to est nul (nul) et un lien inattendu a été généré, j'ai donc essayé de le vérifier
Il est facile de s'en débarrasser, mais j'ai à nouveau résumé la méthode des temps.
Comment demander en passant un tableau à une requête avec le client HTTP de Ruby
Créez une application qui utilise l'API météo pour déterminer si vous avez besoin d'un parapluie.
La fin de la programmation catastrophique # 03 "Comparaison d'entiers, si" a> b ", supposons que c'est" a --b> 0 ""
[Java] Comment obtenir l'URL de la source de transition
Quand le survol d'Eclipse est difficile à voir
Si vous en avez assez de dessiner des diagrammes ER
Convertit le tableau d'erreurs.full_messages en caractères et sortie
La question de savoir quel est le meilleur, si ou changer
[Java] Comment obtenir la valeur maximale de HashMap
Y a-t-il une instance même si le constructeur échoue?
Manipulez les pixels pour créer une image d'un ensemble de Mandelbrot
[Android] Comment obtenir la langue de réglage du terminal
Ruby, Nokogiri: récupère le nom de l'élément du nœud sélectionné
[Rails] Comment obtenir le contenu des paramètres forts
[Swift] Comment obtenir l'ID de document Firebase
Une valeur nulle est entrée lors de l'affectation à un tableau
Il est difficile d'utiliser la chaîne de caractères vide et la date de DBUnit, donc corrigez-la et utilisez-la.
[Swift5] Comment analyser un JSON complexe et obtenir l'index de l'élément qui satisfait la condition
[Mémo] Le mouvement mystérieux de My Batis, définissez null sur l'élément de l'objet liste et renvoyez-le.
J'ai essayé de résoudre le problème de la machine à karaoké Ruby (il y a un exemple de réponse)
Comment spécifier un tableau pour la valeur de retour / l'argument d'une méthode dans le fichier IDL CORBA
J'ai essayé de résoudre le problème de la boisson bonus Ruby (il y a un exemple de réponse)
[Rails] Que faire si vous ne pouvez pas obtenir de message d'erreur avec la méthode des erreurs
Même si j'écris le paramètre de STRICT_QUOTE_ESCAPING dans CATALINA_OPTS dans tomcat8.5, il n'est pas reflété.
Une version Java non prise en charge Comment se débarrasser des erreurs
La spécification d'autorisation de la méthode FileUtils est un nombre octal.
Transition en utilisant l'image d'en-tête de CardView telle quelle