Java >> Tutoriel Java >  >> Java

instance de Java | Opérateur de comparaison avec exemple d'utilisation

Le J opérateur instanceofava utilisé pour vérifier que l'objet est une instance du type spécifié (classe ou sous-classe ou interface). Lorsque vous utilisez l'opérateur Instnaceof pour la comparaison, il renverra une valeur booléenne soit Ture soit False.

Opérateur instanceof Java également appelé opérateur de comparaison. Parce qu'il compare l'instance avec les types.

Syntaxe :

L'opérateur Instanceof est utilisé uniquement pour les variables de référence d'objet. La syntaxe de écrit comme −

( Object reference variable ) instanceof (class/interface type)

Exemple d'instance Java

Un exemple simple consistait à créer une instance (objet) de classe puis à la vérifier avec la classe. Voir le code et l'exemple ci-dessous.

class Hello {

    public static void main(String[] args) {
        // Creating object/Instance
        Hello hello = new Hello();
        //Check weather instance of Hello class or not
        System.out.println(hello instanceof Hello);

    }
}

Sortie : vrai

Autre exemple

Faisons cette fois Héritage et vérifions s'il s'agit d'une sous-classe Instance de superclasse ou non.

class Vehicle {
    void maxSpeed(){
    }
}

public class Bike extends Vehicle{
    public static void main(String arg[]) {
        Bike bike = new Bike();

        System.out.print("Is bike instance of Vehicle - ");
        // checking Is bike instance of Vehicle class
        System.out.println(bike instanceof Vehicle);
    }
}

Sortie  :L'instance de vélo du véhicule est-elle vraie

Un autre exemple

Cette fois, nous vérifions que l'objet parent n'est pas une instance de l'enfant. Pour cela, nous utilisons le même exemple ci-dessus et ne changeons que la création d'un objet de la classe Parent.

class Parent {
}

class Child extends Parent {
}

class Test {
    public static void main(String[] args) {
        Parent parentObject = new Parent();

        // Checking instance or not
        if (parentObject instanceof Child)
            System.out.println("Parent Object is instance of Child");
        else
            System.out.println("Parent Object is NOT instance of Child");

        System.out.println(parentObject instanceof Child);
    }
}

Sortie : L'objet parent n'est PAS une instance de l'enfant
faux

Opérateur de comparaison

Les opérateurs de comparaison standard fonctionnent pour les valeurs primitives comme int, double, char, etc. Et les opérateurs ==et !=peuvent être utilisés pour comparer des références d'objet. Pour voir une comparaison entre un objet (instance), vous pouvez utiliser une instance de l'opérateur de comparaison.

Question :Quelle est la différence entre l'opérateur instanceof et la méthode isInstance() en Java ?

Répondre  :Une instance de à la fois opérateur et isInstance() méthode  est utilisé pour tester si l'instance (objet) appartient au type spécifié ou non.

Mais il existe une différence lorsque vous souhaitez vérifier la classe d'objets de manière dynamique. Dans ce cas, isInstance() méthode marchera. Otherside avec instanceof opérateur aucun moyen de faire ça.

Une autre similitude les deux ont renvoyé une valeur booléenne - Ture ou False.

Question :Qu'est-ce que l'instance Java des performances ?

Répondre :Dans de nombreux cas, il existe de meilleurs moyens POO pour obtenir le comportement souhaité. Cela dépend du code et de la version JVM.

N'hésitez pas à commenter si vous avez des suggestions et des doutes sur ce tutoriel.


Balise Java