MENU

Vérifiez le type d'une variable Java avec instanceof

table des matières

Vérifier le type de variable

Présentation d'un exemple de programme pour vérifier le type d'une variable en Java.

Java est un langage typé statiquement qui déclare explicitement les types, il n'y a donc aucune possibilité de vérifier autant les types. Cependant, une vérification de type peut être nécessaire lors de l'utilisation d'objets hérités.

Comment vérifier les types en Java exemple de À l'aide d'opérateurs, vous pouvez évaluer les classes et les interfaces avec des instructions if, etc., comme indiqué ci-dessous.

variable instance de classe

variable instance d'interface

exemple de Un nom de classe ou un nom d'interface peut être spécifié sur le côté droit de .exemple de La valeur de retour est un booléen ; si elle est vraie, la variable est la classe ou l'interface spécifiée.

Chat et messagerie est un logiciel de groupe qui intègre le chat professionnel, les conférences Web, le partage de fichiers, la gestion des horaires, la gestion des documents, la réservation des salles de conférence et la gestion des présences d'une manière facile à utiliser. Une sécurité parfaite pour les entreprises,Disponible gratuitement !

exemple de programme

Commençons par le modèle le plus simple. Renvoie vrai si la variable i est un entier, faux sinon.

exemple de code

public static void integerSample() {
    Integer i = 100;
    boolean result = i instanceof Integer;
    System.out.println(result);
}

Résultat de sortie

true

La variable i est un entier, donc le résultat est vrai. Cependant, c'est trop évident et je ne sais pas à quoi sert instanceof, alors rendons les choses un peu plus compliquées.

Utilisation efficace d'instanceof

Une utilisation efficace d’instanceof consiste à déterminer à quelle classe enfant appartient une variable.

exemple de code

Dans l'exemple de code, nous créons une classe animale Animal, une classe Dog qui hérite de la classe animal et une classe Cat, et après avoir créé une instance, définissons des variables dans la méthode play. exemple de La sortie de la console est ramifiée en fonction du jugement.

class Animal {} 
class Dog extends Animal {}
class Cat extends Animal {}

public class Main {
    public static void main(String[] args) {
        instanceofSample();
    }
    
    static void instanceofSample() {
        Animal dog = new Dog();
        play(dog);
        Animal cat = new Cat();
        play(cat);
    }
    
    static void play(Animal animal) {
        if (animal instanceof Dog) {
            System.out.println("お散歩する");
        } else {
            System.out.println("猫じゃらしで遊ぶ");
        }
    }
}

Résultat de sortie

お散歩する
猫じゃらしで遊ぶ

Le point clé de la méthode ludique est qu’il n’est pas clair si l’animal présenté comme argument est un chien ou un chat.

exemple de Désormais, vous pouvez également vérifier les instances de sous-classe (Chien ou Chat) contenues dans la superclasse (Animal), afin de pouvoir l'utiliser comme ceci.

Vérifier si une interface particulière est implémentée

Vous pouvez vérifier si une interface spécifique est implémentée pour la variable ciblée par instanceof. Par exemple, vous pouvez l'utiliser comme ceci.

exemple de code

Dans l'exemple de code ci-dessous, des classes pour M. Sato et M. Suzuki sont créées et l'interface Car est implémentée en supposant que seul M. Suzuki possède une voiture. La méthode goShopping() suppose le processus de faire du shopping, mais elle implémente Car ou branche la sortie de la console en fonction de l'instance de.

interface Car {}
class Sato {}
class Suzuki implements Car {}

public class Main {
    public static void main(String[] args) throws Exception {
        instanceofSample();
    }
    
    static void instanceofSample() {
        Sato sato = new Sato();
        goShopping(sato);

        Suzuki suzuki = new Suzuki();
        goShopping(suzuki);
    }
    
    static void goShopping(Object human) {
        if (human instanceof Car) {
            System.out.println("車で行く");
        } else {
            System.out.println("歩いて行く");
        }
    }
}

Résultat de sortie :

歩いて行く
車で行く

Vous pouvez voir que le traitement se divise selon que Car est implémenté ou non.

  • URLをコピーしました!
table des matières