Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [java] StringIndexOutOfBounds

    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"

  2. #2
    dvx80
    Guest
    prova a postare il codice. Almeno cosi si capisce meglio il problema.....

  3. #3
    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"

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    if (line.startsWith("cane"))

  5. #5
    dvx80
    Guest
    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 .....

  6. #6
    dvx80
    Guest
    Originariamente inviato da dvx80
    Un modo può essere usare il statrsWith() altrimenti puoi usare anche solamente il substring

    codice:
        while ((line = in.readLine()) != null) 
           if (line.substring(0).equals("cane")) 
              //fai qualcosa
    Cosi prende dal carattere 0 a alla fine della stringa. Dipende da che necessità hai .....

  7. #7
    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"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.