2017-02-04 4 views
0

Ich habe eine String-Variable mit dem Namen List. Ich möchte das erste Zeichen des Strings, der in der List ist. Das Problem ist, dass ich die charAt() Funktion auf dem List nicht verwenden kann. Hier ist meine Mühe so weit:Erhalten eines Zeichens aus einem String

List<String> testList = new ArrayList<>(); 

testList.get(3).chatAt(0);

+0

Als Start kann es hilfreich sein, die Programmiersprache anzugeben, die Sie verwenden und [tag] (http://meta.stackexchange.com/questions/119695/how-can-i-add-tags-and-where) -can-i-find-eine-Liste-aller-Tags-on-Stack-Überlauf) die Frage damit. – ImportanceOfBeingErnest

Antwort

4

Der Code, den Sie angegeben haben, sollte funktionieren (abgesehen vom Tippfehler). Es ruft das vierte Element in der Liste ab, von dem wir wissen, dass es sich um einen String handelt, weil wir die Liste als eine Liste von Strings definiert haben und dann das erste Zeichen dieses Strings abrufen. Es wird offensichtlich zerbrechen, wenn es in der Liste keine 4 Dinge gibt oder wenn der String keine Zeichen enthält.

Sie können die Dinge etwas klarer machen, indem Sie den String als Variable deklarieren, bevor Sie charAt darauf aufrufen.

String s = testList.get(3); 
char c = s.charAt(0); 
+0

Ich habe gerade festgestellt, dass ich eine Liste habe ... sorry, ich habe es vermasselt. – CodingProgression

+0

Kühl. Ich habe meine Antwort aktualisiert. – leedsunited92

+0

Der Fehler weist darauf hin, dass die Methode get() ein Objekt und keinen String zurückgibt. Dies sollte jedoch nicht der Fall sein, da Sie angegeben haben, dass Ihre Liste Zeichenfolgen mit der Liste enthält. Wenn Sie eine schnelle Lösung wünschen, dann könnten Sie die Ausgabe der Methode get auf einen String anwenden, bevor Sie charAt darauf aufrufen: ((String) testList.get (3)). CharAt (0). Aber ich würde vorschlagen, dass Sie versuchen, stattdessen die Generika richtig zu bekommen. Können Sie den genauen Code posten, den Sie verwenden? – leedsunited92

0

Methoden get(String s) nicht für Arrays in Java verfügbar ist, wahrscheinlich verwirrt Sie es mit Methoden der Java Collection Framework (Liste). Wenn Sie ein Array mit einer Zeichenfolge haben, müssen Sie zuerst auf das Element mit array[i] zugreifen und danach die Methode charAt(int index) aufrufen. Schließlich müssen Sie verwenden i ist die Position im Array zu der Zeichenfolge, die Sie suchen und Index der Index des Zeichens müssen Sie in der Zeichenfolge suchen.

+0

Ja, das funktioniert mit Arrays, aber leider habe ich meine Frage falsch geschrieben. Ich habe tatsächlich eine Liste mit einem Array verwendet. – CodingProgression

+0

@CodingProgression ah ok, ich antworte auf Ihre erste Frage. :/leedsunited92 löse schon dein Problem;) – Antonio1996

Verwandte Themen