Java Chaîne d'initialisation

Lequel préférez-vous et pourquoi"

String myString = null;
if(someCondition)
   myString = "something";
else
   myString = "something else";

OU

String myString = "";
if(someCondition)
   myString = "something";
else
   myString = "something else";

Je sais que l'utilisation du ternaire (? 🙂 opérateur est possible mais j'aimerais savoir les deux ci-dessus.

Notez que la déclaration "String machaine;" en Java entraîne implicitement initialisé à null.
Seulement, par exemple) et des variables statiques. Pas pour les variables locales, ils doivent être définitivement attribuées avant de pouvoir les lire.
Pour le suivi de Jon commentaire, Java n'ont pas laissé de fonctionnement sur la variable si elle n'a pas été initialisée, vous obtenez "variable foo n'aurait pas été initialisé"
celle-ci devrait générer un Dead store to myString avertissement dans FindBugs, j'espère
Merci pour la clarification.

OriginalL'auteur ewa | 2010-07-23