sto usando il metodo substring in loop e capita che con stringhe troppo corte mi lancia la suddetta eccezione. Devo sempre effettuare un controllo sulla lunghezza della stringa prima di effettuare il substring o esiste qualche modo piú breve?
sto usando il metodo substring in loop e capita che con stringhe troppo corte mi lancia la suddetta eccezione. Devo sempre effettuare un controllo sulla lunghezza della stringa prima di effettuare il substring o esiste qualche modo piú breve?
Walk fast, chew slowly.
"We used students as subjects because rats are expensive and you get too attached to them"
prova a postare il codice. Almeno cosi si capisce meglio il problema.....
ad esempio un file di testo con le righe:
il
cane
e
il
gatto
while ((line = in.readLine()) != null) {
if (line.substring(0,4).equals("cane")) fai qualcosa
}
lanciava l'eccezione (con "il" ed "e")e io risolvevo facendo:
while ((line = in.readLine()) != null) {
if (line.length() >= 4) {
if (line.substring(0,4).equals("cane")) fai qualcosa
} //if
} //while
volevo sapere se fosse possibile evitare di controllare la lunghezza ogni volta. Grazie in anticipo.
Walk fast, chew slowly.
"We used students as subjects because rats are expensive and you get too attached to them"
if (line.startsWith("cane"))
Un modo può essere usare il statrsWith() altrimenti puoi usare anche solamente il substring
[code]
while ((line = in.readLine()) != null)
if (line.substring(0).equals("cane"))
//fai qualcosa
[\code]
Cosi prende dal carattere 0 a alla fine della stringa. Dipende da che necessità hai .....
Originariamente inviato da dvx80
Un modo può essere usare il statrsWith() altrimenti puoi usare anche solamente il substring
Cosi prende dal carattere 0 a alla fine della stringa. Dipende da che necessità hai .....codice:while ((line = in.readLine()) != null) if (line.substring(0).equals("cane")) //fai qualcosa
perfetto grazie, sapevo che java non mi avrebbe deluso
Walk fast, chew slowly.
"We used students as subjects because rats are expensive and you get too attached to them"