Upcasting implicite et rédaction explicite en Java
-
21-12-2019 - |
Question
Lorsque Java peut implicitement faire de la coulée, pourquoi ne fait-il pas implicitement de casser? Veuillez expliquer avec un exemple simple?
La solution
Le point est que la refonte de l'inverse réussira toujours, c'est donc sûr - tandis que la rédaction du Downcasting peut échouer:
String x = getStringFromSomewhere();
Object y = x; // This will *always* work
mais:
Object x = getObjectFromSomewhere();
String y = (String) x; // This might fail with an exception
Parce que c'est une opération "dangereuse", la langue vous oblige à le faire explicitement - vous dites essentiellement au compilateur "Je sais plus que vous ne le faites à ce stade!"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow