{"id":4630,"date":"2019-10-21T00:55:50","date_gmt":"2019-10-20T15:55:50","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=4630"},"modified":"2023-11-13T01:14:20","modified_gmt":"2023-11-12T16:14:20","slug":"java-instanceof","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/fr\/blog\/java\/instance-java-de","title":{"rendered":"V\u00e9rifiez le type d&#039;une variable Java avec instanceof"},"content":{"rendered":"<h2>V\u00e9rifier le type de variable<\/h2>\n\n\n\n<p>Pr\u00e9sentation d&#039;un exemple de programme pour v\u00e9rifier le type d&#039;une variable en Java.<\/p>\n\n\n\n<p>Java est un langage typ\u00e9 statiquement qui d\u00e9clare explicitement les types, il n&#039;y a donc aucune possibilit\u00e9 de v\u00e9rifier autant les types. Cependant, une v\u00e9rification de type peut \u00eatre n\u00e9cessaire lors de l&#039;utilisation d&#039;objets h\u00e9rit\u00e9s.<\/p>\n\n\n\n<p>Comment v\u00e9rifier les types en Java <strong>exemple de<\/strong> \u00c0 l&#039;aide d&#039;op\u00e9rateurs, vous pouvez \u00e9valuer les classes et les interfaces avec des instructions if, etc., comme indiqu\u00e9 ci-dessous.<\/p>\n\n\n\n<div class=\"wp-block-group is-style-big_icon_good\"><div class=\"wp-block-group__inner-container\">\n<p><em>variable<\/em> instance de classe<\/p>\n\n\n\n<p><em>variable<\/em> instance d&#039;interface<\/p>\n<\/div><\/div>\n\n\n\n<p><strong>exemple de<\/strong> Un nom de classe ou un nom d&#039;interface peut \u00eatre sp\u00e9cifi\u00e9 sur le c\u00f4t\u00e9 droit de .<strong>exemple de<\/strong> La valeur de retour est un bool\u00e9en\u00a0; si elle est vraie, la variable est la classe ou l&#039;interface sp\u00e9cifi\u00e9e.<\/p>\n\n\n\n<div class=\"recommend\">\n<p><a href=\"javascript:clickAdd()\">Chat et messagerie<\/a> est un logiciel de groupe qui int\u00e8gre le chat professionnel, les conf\u00e9rences Web, le partage de fichiers, la gestion des horaires, la gestion des documents, la r\u00e9servation des salles de conf\u00e9rence et la gestion des pr\u00e9sences d&#039;une mani\u00e8re facile \u00e0 utiliser. Une s\u00e9curit\u00e9 parfaite pour les entreprises,<mark>Disponible gratuitement !<\/mark><\/p>\n<a href=\"javascript:clickAdd()\"><img style=\"margin:10px;box-shadow: var(--swl-box_shadow);\" src=\"\/images\/cam-top-banner.png\" width=\"700\"><\/a>\n<\/div>\n\n\n\n<h2>exemple de programme<\/h2>\n\n\n\n<p>Commen\u00e7ons par le mod\u00e8le le plus simple. Renvoie vrai si la variable i est un entier, faux sinon.<\/p>\n\n\n\n<h4>exemple de code<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-java\" data-lang=\"Java\"><code>public static void integerSample() {\n    Integer i = 100;\n    boolean result = i instanceof Integer;\n    System.out.println(result);\n}<\/code><\/pre><\/div>\n\n\n\n<h4>R\u00e9sultat de sortie<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>true<\/code><\/pre><\/div>\n\n\n\n<p>La variable i est un entier, donc le r\u00e9sultat est vrai. Cependant, c&#039;est trop \u00e9vident et je ne sais pas \u00e0 quoi sert instanceof, alors rendons les choses un peu plus compliqu\u00e9es.<\/p>\n\n\n\n<h2>Utilisation efficace d&#039;instanceof<\/h2>\n\n\n\n<p>Une utilisation efficace d\u2019instanceof consiste \u00e0 d\u00e9terminer \u00e0 quelle classe enfant appartient une variable.<\/p>\n\n\n\n<h4>exemple de code<\/h4>\n\n\n\n<p>Dans l&#039;exemple de code, nous cr\u00e9ons une classe animale Animal, une classe Dog qui h\u00e9rite de la classe animal et une classe Cat, et apr\u00e8s avoir cr\u00e9\u00e9 une instance, d\u00e9finissons des variables dans la m\u00e9thode play. <strong>exemple de<\/strong> La sortie de la console est ramifi\u00e9e en fonction du jugement. <\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-java\" data-lang=\"Java\"><code>class Animal {} \nclass Dog extends Animal {}\nclass Cat extends Animal {}\n\npublic class Main {\n    public static void main(String[] args) {\n        instanceofSample();\n    }\n    \n    static void instanceofSample() {\n        Animal dog = new Dog();\n        play(dog);\n        Animal cat = new Cat();\n        play(cat);\n    }\n    \n    static void play(Animal animal) {\n        if (animal instanceof Dog) {\n            System.out.println(&quot;\u304a\u6563\u6b69\u3059\u308b&quot;);\n        } else {\n            System.out.println(&quot;\u732b\u3058\u3083\u3089\u3057\u3067\u904a\u3076&quot;);\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<h4>R\u00e9sultat de sortie<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>\u304a\u6563\u6b69\u3059\u308b\n\u732b\u3058\u3083\u3089\u3057\u3067\u904a\u3076<\/code><\/pre><\/div>\n\n\n\n<p>Le point cl\u00e9 de la m\u00e9thode ludique est qu\u2019il n\u2019est pas clair si l\u2019animal pr\u00e9sent\u00e9 comme argument est un chien ou un chat.<\/p>\n\n\n\n<p><strong>exemple de<\/strong> D\u00e9sormais, vous pouvez \u00e9galement v\u00e9rifier les instances de sous-classe (Chien ou Chat) contenues dans la superclasse (Animal), afin de pouvoir l&#039;utiliser comme ceci.<\/p>\n\n\n\n<h2>V\u00e9rifier si une interface particuli\u00e8re est impl\u00e9ment\u00e9e<\/h2>\n\n\n\n<p>Vous pouvez v\u00e9rifier si une interface sp\u00e9cifique est impl\u00e9ment\u00e9e pour la variable cibl\u00e9e par instanceof. Par exemple, vous pouvez l&#039;utiliser comme ceci.<\/p>\n\n\n\n<h4>exemple de code<\/h4>\n\n\n\n<p>Dans l&#039;exemple de code ci-dessous, des classes pour M. Sato et M. Suzuki sont cr\u00e9\u00e9es et l&#039;interface Car est impl\u00e9ment\u00e9e en supposant que seul M. Suzuki poss\u00e8de une voiture. La m\u00e9thode goShopping() suppose le processus de faire du shopping, mais elle impl\u00e9mente Car ou branche la sortie de la console en fonction de l&#039;instance de.<\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-java\" data-lang=\"Java\"><code>interface Car {}\nclass Sato {}\nclass Suzuki implements Car {}\n\npublic class Main {\n    public static void main(String[] args) throws Exception {\n        instanceofSample();\n    }\n    \n    static void instanceofSample() {\n        Sato sato = new Sato();\n        goShopping(sato);\n\n        Suzuki suzuki = new Suzuki();\n        goShopping(suzuki);\n    }\n    \n    static void goShopping(Object human) {\n        if (human instanceof Car) {\n            System.out.println(&quot;\u8eca\u3067\u884c\u304f&quot;);\n        } else {\n            System.out.println(&quot;\u6b69\u3044\u3066\u884c\u304f&quot;);\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<h4>R\u00e9sultat de sortie\u00a0:<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>\u6b69\u3044\u3066\u884c\u304f\n\u8eca\u3067\u884c\u304f<\/code><\/pre><\/div>\n\n\n\n<p>Vous pouvez voir que le traitement se divise selon que Car est impl\u00e9ment\u00e9 ou non.<\/p>","protected":false},"excerpt":{"rendered":"<p>V\u00e9rification du type d&#039;une variable Pr\u00e9sentation d&#039;un exemple de programme pour v\u00e9rifier le type d&#039;une variable en Java. Java d\u00e9clare explicitement les types [\u2026]<\/p>","protected":false},"author":1,"featured_media":9054,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":""},"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/posts\/4630"}],"collection":[{"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/comments?post=4630"}],"version-history":[{"count":6,"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/posts\/4630\/revisions"}],"predecessor-version":[{"id":9049,"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/posts\/4630\/revisions\/9049"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/media\/9054"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/media?parent=4630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/categories?post=4630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/fr\/wp-json\/wp\/v2\/tags?post=4630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}