Situazione: sto esaminando i nomi dei file, il nome del file viene memorizzato in una variabile denominata String
str
e secondo le condizioni controllato in if
dichiarazioni sto impostando il valore di una variabile denominata mailType
.qual è l'alternativa migliore per seguire if-else ladder in java?
if(str.contains("template"))
{
if(str.contains("unsupported"))
mailType="unsupported";
else
if(str.contains("final_result"))
mailType="final_result";
else
if(str.contains("process_success"))
mailType="Process Success";
else
if(str.contains("receive"))
mailType="Receive";
else
if(str.contains("sen"))
mailType="sent";
else
if(str.contains("welcome"))
mailType="welcome";
else
if(str.contains("manual"))
mailType="Manual";
}
else
if(str.contains("properties"))
{
if(str.contains("unsupported"))
mailType="unsupported";
else
if(str.contains("final_result"))
mailType="final_result";
else
if(str.contains("process_success"))
mailType="Process Success";
else
if(str.contains("receive"))
mailType="Receive";
else
if(str.contains("sen"))
mailType="sent";
else
if(str.contains("welcome"))
mailType="welcome";
else
if(str.contains("manual"))
mailType="Manual";
}
Problema: C'è un modo migliore per farlo in java che accorcia il mio codice ed è la memoria amichevole?
Il tuo codice sarebbe molto più leggibile se si è utilizzato 'se else' piuttosto che' else' (senza parentesi) e rientrare il blocco successivo. –
Basta fare il punto di Andy: http://pastie.org/10798591 o meglio ancora http: // pastie.org/10798593 –
@ T.J.Crowder grazie per aver aggiunto quelli! –