Maison >Java >javaDidacticiel >Pourquoi Java génère-t-il une erreur « Types incompatibles : le vide ne peut pas être converti » ?

Pourquoi Java génère-t-il une erreur « Types incompatibles : le vide ne peut pas être converti » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-23 19:47:10986parcourir

Why Does Java Throw an

Types incompatibles : void ne peut pas être converti

Problème :

Le message de compilation Java "Les types incompatibles : void ne peuvent pas être converti en..." indique que le compilateur a détecté une erreur de type impliquant le type void. Plus précisément, cela signifie que votre code tente d'utiliser le résultat d'une méthode qui ne renvoie pas de valeur.

Explication détaillée :

Le type void, contrairement au type primitif ou types de référence, signifie l’absence de valeur. Il est principalement utilisé dans les déclarations de méthode pour indiquer que la méthode ne renvoie aucune valeur. Lorsque vous appelez une telle méthode, vous ne pouvez pas vous attendre à ce qu'elle renvoie une valeur que vous pouvez utiliser.

Exemple :

Considérez le code suivant :

public class Test {
    private static void add(int a, int b) {
        int res = a + b;
    }

    public static void main(String[] args) {
        int sum = add(1, 1);
    }
}

Lors de la compilation de ce code, vous recevrez l'erreur suivante :

error: incompatible types: void cannot be converted to int
        int sum = add(1, 1);
                     ^

Cette erreur indique que vous essayez de attribuez le résultat de la méthode add, qui est void, à une variable int. Cependant, void ne représente aucune valeur, il ne peut donc pas être affecté à une variable d'aucun type.

Solution :

Pour corriger cette erreur, vous pouvez soit :

  1. Modifier la déclaration de méthode : Modifier la méthode add pour renvoyer une valeur, telle que le résultat de la ajout.
  2. Évitez d'utiliser la valeur de retour : Supprimez la ligne qui tente d'attribuer la valeur de retour à la variable (par exemple, remplacez int sum = add(1, 1); par add( 1, 1);).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn