redhat-developer / redhat-developer/vscode-java
Return null through ternary operator does not give Type mismatch error
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 2.3k
- Forks
- 546
- Merge moyen
- 20 h 1 min
- PR mergées (30 j)
- 11
Description
Returning null through a ternary operator does not give Type mismatch error. It should.
Code 1:
public double getValue() {
return null;
}
null is error-underlined with the error [Java] Type mismatch: cannot convert from null to double.

Code 2:
public double getValue() {
return value == null ? null : Double.parseDouble(value);
}
No errors shown on the returned null.

Code 3:
public double getValue() {
if (value == null)
return null;
else
return Double.parseDouble(value);
}
Same error:

Environment
- Operating System: Windows 10 x64
- JDK version: 8
- Visual Studio Code version: 1.20.0
- Java extension version: 0.18.1
Steps To Reproduce
- Make code shown.
- Look for error.
Current Result
Code 1 & 3 shows error. Code 2 doesn't.
Expected Result
All Code blocks should show error.
Additional Information
Please let me know if you need any logs or anything.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire Code 1, Code 2 et Code 3 dans l’extension Java, puis comparez les diagnostics pour les formes ternaire et if/else. Suivez la manière dont la prise en charge du langage Java analyse les expressions de retour, puis vérifiez que le cas ternaire signale la même incompatibilité de types que les autres exemples.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- compilers, devtools
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 38/100