Podział stringa na znaki

Odpowiedz Nowy wątek
2011-10-04 17:03
java_h
0

Witam.
Czy jest w javie jakaś funkcja odpowiedzialna za podział stringa na poszczególne znaki i zapisanie ich do tablicy?

Np. mam tekst: Ala ma kota
I chcę otrzymać:
t[0]='A'
t[1]='l'
t[2]='a'
t[3]=' '
t[4]='m'
t[5]='a'
t[6]=' '
t[7]='k'
t[8]='o'
t[9]='t'
t[10]='a'

Pozostało 580 znaków

2011-10-04 17:09
bo
0

Jest http://download.oracle.com/javase/7/docs/api/java/lang/String.html

O żesz kurna, ale się styl javadoca zmienił.. przez chwile myślałem, że trafiłem nie na tę stronę co trzeba. - Kerai 2011-10-04 17:29

Pozostało 580 znaków

2011-10-04 17:32
java_h
0

możesz napisać jak to wykorzystać?

Pozostało 580 znaków

2011-10-04 17:45
bo
0

Na liście metod poszukać takich, która zwracają char[].

Pozostało 580 znaków

2011-10-04 17:58
java_h
0

dzięki :) znalazłem toCharArray()

Pozostało 580 znaków

2011-10-04 18:59
0

Eeee tam, prościej zrobić własną tablicę char'ów i iterować po string'u dołączając po kolei, a nie tam zawsze z gotowców korzystać ;)


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
Ambitniej, może. Głupiej, na pewno. Prościej, na pewno nie. - bogdans 2011-10-04 19:07
Przecież to był żart.. - xeo545x39 2011-10-05 16:04

Pozostało 580 znaków

2011-10-04 19:06
1
xeo545x39 napisał(a)

Eeee tam, prościej zrobić własną tablicę char'ów i iterować po string'u dołączając po kolei, a nie tam zawsze z gotowców korzystać ;)

Zeszyty do szkoły też sobie sam robisz? Długopisy też? Srajtaśmę też?


Women were the reason I became a monk - and, ah, the reason I switched back...

Pozostało 580 znaków

2011-10-05 12:00
0

Najprostsze i jednocześnie najbardziej wydajne będzie skorzystanie z metody CharSequence.charAt(). Interfejs ten jest implementowany zarówno przez String jak i StringBuilder, więc w tym drugim wypadku zawartość bufora można też łatwo zmieniać metodami StringBuildera (setCharAt, replace, insert). Konwertowanie Stringa na tablicę jest najczęściej dodatkowym niepotrzebnym kopiowaniem i przydziałem pamięci na obiekt oraz bufor znakowy (zawartość tablicy można zmieniać, więc nie można użyć bufora ze Stringa).
Nie ma potrzeby dzielenia Stringa ponieważ w pamięci i tak jest on podzielony na znaki w buforze.


Jeżeli ktoś komuś coś, ewentualnie nikt nikomu nic, to właściwie po co...?
edytowany 1x, ostatnio: Olamagato, 2011-10-05 15:56

Pozostało 580 znaków

2011-10-05 13:05
0

Zazwyczaj podziwiam Twoją wiedzę i zgadzam się z wypowiedziami. Tym razem niezupełnie.

  1. Po raz pierwszy spotkałem się z poglądem, że interfejs implementuje klasę.
  2. Są różne kryteria prostoty. Jeżeli trzeba wielokrotnie operować na elementach Stringa, to prościej pisać t[i] niż txt.charAt(i).
  3. Możesz krótko opisać jak, nie tworząc tablic typu char[], rozstrzygnąć czy dla dwóch danych Stringów o tej samej długości, jeden jest permutacją drugiego.

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
Nie "klasę", a "klasa(-y)". W sensie jest implementowany przez te klasy. Trochę niezręczne sformułowałem, fakt. charAt jest implementowany wewnętrznie jako dostęp indeksowany w tablicy, a JVM optymalizuje wywołania takiej metody na kod inline. Co do reszty to się zgadzam - zależy do czego potrzebny jest dostęp do znaku - czasem bardziej opłaca się skopiować znaki do tablicy czy innej struktury. - Olamagato 2011-10-05 15:25

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 1

Robot: Yandex