[Java] Ma le stringhe non sono trattate come array di caratteri?
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 10 di 10

Discussione: [Java] Ma le stringhe non sono trattate come array di caratteri?

Cambio titolo
  1. #1
    O RLY?
    Ospite

    [Java] Ma le stringhe non sono trattate come array di caratteri?

    Come da titolo, una stringa di tipo String non viene vista come un array di caratteri come ad esempio in C? Come faccio ad analizzarne i singoli elementi che la compongono? Grazie a chiunque risponderà

  2. #2
    Keroro
    Ospite
    internamente nel codice java è un array di caratteri ma è privato e non ci puoi accedere...
    per scansionare carattere x carattere usi il metodo substring della classe String

  3. #3
    developing... L'avatar di Slimmy
    Registrato il
    07-03
    Località
    NSApplication
    Messaggi
    6.417
    C'è il metodo charAt(int index).

  4. #4
    I am a stegosaurus! L'avatar di The_Ed
    Registrato il
    10-02
    Località
    Milanese imbruttito
    Messaggi
    9.963
    altrimenti usi il metodo toCharArray()

    http://download.oracle.com/javase/1....#toCharArray()

    RICORDA che non esiste il \n in fondo alla stringa, in quanto gli array Java hanno una lunghezza determinata in maniera diversa (per trovarla basta fare nome_array.length)
    juventino, dailyrander, informatico, musicomane, giocatore

  5. #5
    O RLY?
    Ospite
    Grazie mille, a tutti, per le risposte

    @The_Ed ma il terminatore non era \0? comunque utilizzerò il tuo metodo, sembra il più comodo, almeno per ora

  6. #6
    panzone
    Ospite
    Citazione O RLY? Visualizza Messaggio
    Grazie mille, a tutti, per le risposte

    @The_Ed ma il terminatore non era \0? comunque utilizzerò il tuo metodo, sembra il più comodo, almeno per ora
    Il terminatore in C è un NULL ( uno zero binario insomma ). In java tuttavia non ci son tutte queste cose Son oggetti.

  7. #7
    O RLY?
    Ospite
    Citazione panzone Visualizza Messaggio
    Il terminatore in C è un NULL ( uno zero binario insomma ). In java tuttavia non ci son tutte queste cose Son oggetti.
    Ma infatti io parlavo del C e null non era \0, visto terminatore per una stringa?

  8. #8
    Utente
    Registrato il
    02-06
    Località
    ...
    Messaggi
    4.972
    Citazione O RLY? Visualizza Messaggio
    Ma infatti io parlavo del C e null non era \0, visto terminatore per una stringa?
    Nel C si, il carattere di termina stringa è esplicito ed è \0

    Per quanto riguarda Java, non avendo gli overload degli operatori, l'operatore [] non è definito sugli oggetti, e quindi nemmeno sulla classe String che è un oggetto vero e proprio come uno user defined.

    Puoi usare il metodo charAt(int i) per ottenere l'i-esimo carattere, oppure usare toCharArray() che ritorna un puntatore a char[] e poi usare l'operatore [] come in C/C++
    Ultima modifica di CorralX; 28-04-2011 alle 20:31:52

  9. #9
    I am a stegosaurus! L'avatar di The_Ed
    Registrato il
    10-02
    Località
    Milanese imbruttito
    Messaggi
    9.963
    Citazione O RLY? Visualizza Messaggio
    Grazie mille, a tutti, per le risposte

    @The_Ed ma il terminatore non era \0? comunque utilizzerò il tuo metodo, sembra il più comodo, almeno per ora
    non tocco C dal 2008, mi ero confuso
    juventino, dailyrander, informatico, musicomane, giocatore

  10. #10
    O RLY?
    Ospite
    Citazione CorralX Visualizza Messaggio
    Nel C si, il carattere di termina stringa è esplicito ed è \0

    Per quanto riguarda Java, non avendo gli overload degli operatori, l'operatore [] non è definito sugli oggetti, e quindi nemmeno sulla classe String che è un oggetto vero e proprio come uno user defined.

    Puoi usare il metodo charAt(int i) per ottenere l'i-esimo carattere, oppure usare toCharArray() che rotirna un puntatore a char[] e poi usare l'operatore [] come in C/C++
    Grazie anche a te per le precisazioni!
    Citazione The_Ed Visualizza Messaggio
    non tocco C dal 2008, mi ero confuso
    Figurati, non c'è problema!

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •