StringIndexOutOfBoundsException

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo leibe Forengemeinde,

an dieser Stelle bekomme ich eine StringIndexOutOfBoundsException:

Code:
String jahr = datum.substring(6, datum.length());



Code:
datum.length()
ergibt aber eine Länge von 10, also gibt es den Index 6. Ich benötige nur den Teilstring von der 6. Stelle an bis zum Ende.

Wo habe ich da meinen Denkfehler? ???:L
 

The_S

Top Contributor
das bei 0 das zählen angefangen wird. Wenn du von x bis Ende brauchst, kannst du das zweite Parameter aber auch einfach weglassen.
 
G

Guest

Gast
@ Hobbit_Im_Blutrausch

Ich weiss, dass bei 0 angefangen wird. Folgender String: 19.12.2008. Ich brauche die 2008. Dann ist die 2 die 6. Position. Ich bekomme auch einen StringIndexOutOfBoundsException, wenn ich foglendes ausführe:

Code:
String jahr = datum.substring(0,1);

Erzähl mir nicht, es gibt nicht die Position 0. Es steht definitiv etwas im String drinn, ist also <> null.
 

The_S

Top Contributor
Ich glaube nicht, dass in deinem String auch wirklich was drinsteht. Folgendes

Code:
package de.test;

public class Test {
	
  public static void main(String args[]) throws Exception {
    
	String datum = "19.12.2008";
	String jahr = datum.substring(6,datum.length());
	System.out.println(jahr);
  }
}

funktioniert bei mir ohne Probleme.
 
G

Guest

Gast
@ Hobbit_Im_Blutrausch

Also sagst Du, wenn im String nichts drinn steht, dann bekomme ich bei datum.length() auch 10 zurück? Wenn ich datum.length() mir anzeigen lasse, dann bekomme ich die Länge 10 zurück. Lasse ich mir datum anzeigen, dann bekome ich 19.12.2008 zurück.
 

The_S

Top Contributor
Wenn ers richtig ausgibt, dann hast du doch keinen Fehler mehr - zumindest nicht an dieser Stelle.

Nein, das sage ich nicht. Wenn in einem String nichts drinsteht, dann ist die länge auch 0 bzw. wenn wirklich nichts drin steht, bekommst du ne NullPointerException.
 

Murray

Top Contributor
Wenn das Problem noch besteht: poste mehr Code und die vollständige Fehlermeldung (Exception mit StackTrace)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben