ok e se la stringa è not null, piena di blank ti passa il primo controllo.
Poi fai trim, il risultato del trim è una stringa vuota, la registrazione è valida?
ok e se la stringa è not null, piena di blank ti passa il primo controllo.
Poi fai trim, il risultato del trim è una stringa vuota, la registrazione è valida?
RTFM Read That F*** Manual!!!
Per togliere un po' di boiler code ti consiglio le utility di Apache, ad esempio StringUtils:
Ad esempio
linea != null && !linea.equals("")
diventa
StringUtils.isNotBlank(linea)
Ti gestisce i seguenti casi:
codice:StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
credo che PRIMA di StringUtils debba avere chiaro perché deve gestire quei casi.
Allo stesso modo può usare IOUtils per gestire gli stream
RTFM Read That F*** Manual!!!
Scusa, mi passa il controllo se la Stringa è not nulla && non deve essere piena di blank.
Questa cosa mi serve perchè ho una sequenza di stringhe (linee) e successivamente , sotto questo elenco ho delle stringhe di descrizione che non mi interessano.
l'elenco delle righe di dati utili (che quindi devo inserire) e l'elenco delle righe di descrizione che non mi interessano sono separati da una riga bianca.
Di conseguenza l'iterazione si ferma.
Questo mi serviva.
Grazie
Non hai capito, fa niente
No.
1) Quella è una AND, non una OR. Quindi, rimani dentro al ciclo finchè ENTRAMBE sono vere. Esci dal ciclo appena UNA DELLE DUE diventa falsa.
2) Nel ciclo WHILE ci rimani finchè la guardia (la condizione) rimane vera. E quella condizione dice che dentro al WHILE ci rimani finchè la linea non è nulla e non è vuota. Una stringa composta di soli blank è NON NULLA e NON VUOTA, quindi la condizione è verificata e si rimane dentro al WHILE.
A scanso di equivoci, quando dico "si rimane dentro al WHILE" significa che il corpo del WHILE viene eseguito.
Ciao.![]()
Ultima modifica di LeleFT; 18-09-2014 a 13:41
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Verissimo, scusate la svista![]()
Quello che volevamo farti capire è che
1) linea.equals("")
e
2) linea.equals(" ")
non sono la stessa cosa
(2) avrebbe superato con successo la condizione del while e con tutta probabilità si l'applicazione si sarebbe rotta poco dopo.
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI