Aber ist das auch schneller oder zumindest gleich schnell?
Das Erzeugen des Arrays kostet auch Zeit.
Wenn es dir um Geschwindigkeit geht, solltest du dir vor allem das Design vorknöpfen. Meine bisherigen Erfahrungen zeigten, dass Strings kaum dazu geeignet sind, komplexe Strukturen darzustellen. Ich entwarf deshalb meist eigene, und das führte dazu, dass ich eben so etwas wie "Zählen von Zeichen in String" nie brauchte und wohl auch nie brauchen werde.
In Strukturen, bei denen es auf Performance ankommt, habe ich höchst selten Strings gesehen, und das aus einem guten Grund: Strings sind nicht dazu geschaffen, Daten in einer für die Maschine aufbereiteten Form zugänglich zu machen. Sie sind eher dazu gedacht, eine rein auf Text basierende Schnittstelle vor allem zu Menschen zu ermöglichen. In Schichten sehr hoher Abstraktion haben Strings selten etwas zu suchen, und wenn, dann werden nur Zeiger auf sie ausgetauscht, aber es wird nie auf den Strings gearbeitet.
Faustregel: String-Operationen sind inhärent langsam.
Ark