carookee - group communication for you
Home / JavaForum / Java allgemein
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.763 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 1911 von 2212 (86%) |<   <   >   >|

Autor DeaconFrost
Datum 12.12.05, 11:10
Betreff Re: cannot cast from string to list


Das ist auch richtig so. Ein String ist nunmal keine Liste. Punkt. Wenn du die einzelnen Substrings in einer Liste einsortieren möchtest, dann musst du die Methode add der Liste verwenden, also z.B. so:
List l_section = new ArrayList();
for (int i = 0; i < m_categorie.length(); i++) {
    int index = m_categorie.indexOf("\\", i);
    if (index != -1) {
        l_section.add(m_categorie.substring(i, index));
        i = index;
        } else {
        l_section.add(m_categorie.substring(i, m_categorie.length());
        break;
    }
}


Es geht aber viel einfacher, dann sparst du dir die Schleife:
import java.util.Arrays;
List<String> l_section = Arrays.asList(m_categorie.split("\\\\"));


Zur Erklärung: Die Methode split zerteilt einen String nach der vorgegebenen Regel für Trennzeichen. Diese Regel heisst Regular Expression. In deinem Fall ist es ein Backslash. Die 4 Backslashes sind an dieser Stelle richtig, da Regular Expressions ebenfalls den Backslash als Sonderzeichen verwenden. Daher muss man doppelt "escapen" und zwar einmal für den String und einmal für die Regular Expression.
Die Methode split gibt einen String[] zurück.
Die Klasse Arrays bietet einige sehr nützliche statische Methoden für Arrays, unter Anderem asList. Diese "verwandelt" einen beliebigen Array in eine Liste.
Im übrigen habe ich für die Liste Generics verwendet, um die Liste explizit als eine Liste von Strings zu deklarieren. Falls Du das nicht verwenden willst:
import java.util.Arrays;
List l_section = Arrays.asList(m_categorie.split("\\\\"));

ist auch möglich.




Diskussionsverlauf:
    Re: cannot cast from string to list
cannot cast from string to list

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com