Inférence de type de variable locale en Java 10 : Comment utiliser le mot-clé var dans les valeurs de retour de méthode
Introduction :
Java est un langage typé statiquement, et le type de variable doit généralement être spécifié explicitement lors de la déclaration d'une variable. Mais dans Java 10, le concept d'inférence de type de variable locale a été introduit et le mot-clé var peut être utilisé à la place de la déclaration du type de variable. Cet article discutera de l'utilisation du mot-clé var dans les valeurs de retour des méthodes, avec des exemples de code.
1. Introduction à l'inférence de type de variable locale :
L'inférence de type de variable locale de Java 10 permet aux programmeurs d'omettre la déclaration du type de variable lors de la déclaration des variables locales. Le compilateur déduit le type réel de la variable en fonction du type de l'expression de droite. Cela peut simplifier le code et réduire la redondance du code du modèle.
2. Utilisez le mot-clé var dans la valeur de retour de la méthode :
En Java 10, le mot-clé var peut être utilisé dans la déclaration de la valeur de retour de la méthode. L'utilisation spécifique est la suivante :
Déclarez explicitement le type de valeur de retour de la méthode :
Dans les versions antérieures de Java, la déclaration du type de valeur de retour de la méthode est requise, comme indiqué ci-dessous :
public String getMessage() { return "Hello World"; }
Utilisez le mot-clé var pour déduire la méthode renvoie le type de valeur :
En Java 10, nous pouvons utiliser le mot-clé var pour compléter la même déclaration. Le code est le suivant :
public var getMessage() { return "Hello World"; }
Ici, le compilateur déduira que le type de valeur de retour est String en fonction de la valeur renvoyée. par la méthode.
Combiné avec des expressions Lambda :
Dans le cas de l'utilisation d'expressions Lambda, nous pouvons utiliser le mot-clé var dans le type de valeur de retour de la méthode. Le code est le suivant :
public var getSum = (int a, int b) -> a + b;
Le compilateur utilisera la valeur de retour à droite. côté du type d’expression Lambda pour déduire le type de valeur de retour de la méthode getSum.
Il convient de noter que bien que le mot-clé var simplifie le code, il introduit également certains problèmes potentiels. Par exemple, le mot-clé var n'est pas un type dynamique. Le compilateur effectue simplement une inférence de type en fonction du type de l'expression actuelle, puis déclare la variable comme type correspondant. En d’autres termes, une fois qu’un type est déduit, il est fixe et ne peut plus être modifié. Par conséquent, nous ne pouvons pas définir différents types de valeurs dans la méthode.
Exemple de code :
Ce qui suit est un exemple de code qui utilise le mot-clé var dans la valeur de retour de la méthode pour démontrer son utilisation :
public class VarExample { public static void main(String[] args) { var message = getMessage(); System.out.println(message); var sum = getSum(5, 3); System.out.println(sum); } public static var getMessage() { return "Hello World"; } public static var getSum(int a, int b) { return a + b; } }
Dans l'exemple de code ci-dessus, la méthode getMessage renvoie une valeur de type chaîne et la méthode getSum renvoie la somme de deux entiers.
Conclusion :
Le concept d'inférence de type de variable locale a été introduit dans Java 10, et la déclaration du type de variable peut être omise à l'aide du mot-clé var. L'utilisation du mot-clé var dans les valeurs de retour de la méthode peut simplifier le code et réduire la redondance du code du modèle.
Bien que le mot-clé var soit pratique, il convient également de noter qu'il ne s'agit pas d'une déclaration de type dynamique et qu'il ne peut pas être modifié une fois le type de variable déterminé. Par conséquent, il est recommandé d'utiliser le mot-clé var dans des scénarios appropriés pour améliorer la lisibilité du code et faciliter la maintenance.
Références :
[1] https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
[2] http://openjdk.java.net/projects/amber/LVTIstyle html.
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!