java.lang.IndexOutOfBoundsException weiß nicht warum

Status
Nicht offen für weitere Antworten.
M

MookiE

Gast
Hallo. Bekomme einen Fehler aber weiß nicht warum weil meiner meinung nach alles passen sollte. Vlt seht ihr ja was.

Klasse in der der Fehler auftaucht:
Code:
package csveditor;

public class Compare {

	public static void compare() {
		if (Separator.getSeparator().equals(",")
				|| Separator.getSeparator().equals(";")) {
			String compare_temp = "";
			for (int i = 0; i < GUI.getColumn(); i++) {
				compare_temp = compare_temp + GUI.getFields().get(i).getText();
				if (i < (GUI.getColumn() - 1)) {
					compare_temp = compare_temp + Separator.getSeparator();
				}
			}
			GUI.getData().set(GUI.getFieldnr(), compare_temp);
		}
	}
}
Fehler taucht in der zeile unter der "for" anweisung auf. (also des ist sozusagen die zeile 16)
Fehler:

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at csveditor.Compare.compare(Compare.java:16)
at csveditor.Button_functions.forw(Button_functions.java:15)
at csveditor.GUI.actionPerformed(GUI.java:385)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)[/code]
 

AlArenal

Top Contributor
Was immer auch bei dir was ist, die Fehlermeldung sagt doch schon alles: Deine ArrayList hat keinen Inhalt, also kann es auch kein Element auf Position 0 geben, also fliegt eine Exception.

Benutz statt des manuellen Durchlaufs in der for-Schleife einen Iterator, oder prüfe vor der Schleife, ob die Collection einen Inhalt hat. Ist Inhalt zwingend notwendig und keiner da bzw. die Collection == null, würde es Sinn machen eine IllegalArgumentException zu werfen.
 

merxleben

Aktives Mitglied
Hi,

ich hätte da zwei Fragen zur Fehlersuche. Zum einen was liefert GUI.getColumn() und was liefert GUI.getFields() ?
Die zweite Frage ist da eher genereller Natur. Wofür ist die Klasse Comparator da und warum ist die Methode compare() statisch und hat keinen Rückgabewert?

Martin
 
M

MookiE

Gast
GUI.getFields() liefert die textfelder die angezeigt werden (die müssen ja da sein, denn in der gui sehe ich sie)
GUI.getColumn() liefert die anzahl der Textfelder (stimmt eigendlich auch deshalb kann ich mir die exception nicht erklären)

die klasse comperator ist dazu da, um den inhalt der textfelder in die arraylist data zu schreiben, was unten gemacht wird:
Code:
         GUI.getData().set(GUI.getFieldnr(), compare_temp);
 
M

MookiE

Gast
Problem hab ich gelöst... in einer anderen klasse hatte ich den falschen getter genommen und hatte somit doppelt soviele textfelder und die ersten 6 waren leer...
trotzdem danke!
 

AlArenal

Top Contributor
MookiE hat gesagt.:
GUI.getFields() liefert die textfelder die angezeigt werden (die müssen ja da sein, denn in der gui sehe ich sie)

..was nicht zwangsweise bedeutet, dass #getFields() sie auch liefert => Debug-Ausgabe einbauen

GUI.getColumn() liefert die anzahl der Textfelder (stimmt eigendlich auch deshalb kann ich mir die exception nicht erklären)

S.o.

die klasse comperator ist dazu da, um den inhalt der textfelder in die arraylist data zu schreiben, was unten gemacht wird:
Code:
         GUI.getData().set(GUI.getFieldnr(), compare_temp);

Deine Klasse heißt Compare, nicht Comperator. Und "compare" heißt "vergleichen". Vergleichen ist aber ein Vorgang, bei dem nichts geändert wird, sondern lediglich ein Status zurückgeliefert wird. D.h. entweder ist deine Implementierung irreführend, oder deine namensgebung. Weiterhin sind so statische Methoden in dritten Klassen, die irgendwo irgendwas ändern ziemlich mieser Stil. ;)
 
M

MookiE

Gast
eclipse wollte dass des statisch ist...

wie soll ich das sonst machen?
Die namensgebung ist nicht korrekt... des compare kommt davon, dass ich damit anfangs nur verglichen habe aber es dann geändert habe. und ich aktualisiere die namen nicht immer sofort... :)
 

AlArenal

Top Contributor
MookiE hat gesagt.:
eclipse wollte dass des statisch ist...

Komisch, mein Eclipse macht das was ich sage ;)
Schätze da hast du irgendwas falsch verstanden.

wie soll ich das sonst machen?
Die namensgebung ist nicht korrekt... des compare kommt davon, dass ich damit anfangs nur verglichen habe aber es dann geändert habe. und ich aktualisiere die namen nicht immer sofort... :)

Ich weiß ja nicht wie dein Kram aufgebaut ist, aber die Manipulation deiner Daten entsprechend der Eingaben im UI gehört in einen Controller (siehe MVC). Wenn du keinen Extra-Controller hast, gehört es in deinen View, also den Frame oder was auch immer du da so hast.

Wie du auf die Idee kommst, dass Eclipse verlangt hätte du sollst ne Extra-Klasse mit einer statischen parameterlosen Methode schreiben, ist mir ein Rätsel. Vermutlich hast du einfach nur irgendwo statische Methoden oder Variablen, die du versucht hast im falschen Kontext zu benutzen und heraus kam so ein Klumpatsch ;)
 
M

MookiE

Gast
Ich weiß ja nicht wie dein Kram aufgebaut ist, aber die Manipulation deiner Daten entsprechend der Eingaben im UI gehört in einen Controller (siehe MVC).

dann werd ich mir des mal anschauen... habs halt mit meinem bisherigem wissenstand gemacht

Wie du auf die Idee kommst, dass Eclipse verlangt hätte du sollst ne Extra-Klasse mit einer statischen parameterlosen Methode schreiben, ist mir ein Rätsel.

Ich hab nicht gemeint, dass eclipse es so verlangt hat. Ich wollte nicht alles in eine klasse schmeissen und dann hab ich ne neue klasse gemacht und die methode rein. dann kam eclipse von wegen ich hab nen fehler die methode soll/muss statisch sein...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O java.lang.IndexOutOfBoundsException JTable autoSort Java Basics - Anfänger-Themen 5
H java.lang.IndexOutOfBoundsException bei verschachtelter ArrayList Java Basics - Anfänger-Themen 9
K Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 Java Basics - Anfänger-Themen 4
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
B java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
J Erste Schritte java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 4
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
T Compiler-Fehler java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 2
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
N jodaTime java.lang.IllegalArgumentException: Invalid format Java Basics - Anfänger-Themen 3
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Erste Schritte java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
R java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
C Hilfe!!! java.lang.ClassCastException Java Basics - Anfänger-Themen 1
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
K Caused by: java.lang.NoClassDefFoundError: org/mindrot/jbcrypt/BCrypt Java Basics - Anfänger-Themen 0
S java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 4
OnDemand java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 9
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
P Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 3
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
V java.lang.NoSuchMethodError Java Basics - Anfänger-Themen 2
J java.lang.math asin() Java Basics - Anfänger-Themen 18
I Erste Schritte Ausführfehler: java.lang.NullPointerException Java Basics - Anfänger-Themen 3
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
K Error: java.lang.NoSuchMethodException Java Basics - Anfänger-Themen 2
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
G java.lang.ClassNotFoundException Java Basics - Anfänger-Themen 4
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
V [Greenfoot] java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 10
X Interpreter-Fehler "java.lang.NullPionterException: null" bei BlueJ Java Basics - Anfänger-Themen 10
P java.lang.ClassCastException Java Basics - Anfänger-Themen 2
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
A Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown Java Basics - Anfänger-Themen 7
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
J java.lang.NullPointerException Java Basics - Anfänger-Themen 18
K Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 6
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
K OOP java.lang.NullPointerException Java Basics - Anfänger-Themen 2
N iText PDF Fehler, java.lang.ClassNotFoundException: com.lowagie.text.Phrase Java Basics - Anfänger-Themen 7
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
H java.lang.NoSuchMethodError: Java Basics - Anfänger-Themen 5
J java.lang.UnsatisfiedLinkError: Java Basics - Anfänger-Themen 9
T List in java.lang.Object... einfügen Java Basics - Anfänger-Themen 12
M java.lang.StringTokenizer Java Basics - Anfänger-Themen 4
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
P java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory Java Basics - Anfänger-Themen 1
Y java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 9
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
Spin Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: data must Java Basics - Anfänger-Themen 10
S Fehlermeldung: java.lang.NullPointerException Java Basics - Anfänger-Themen 10
T Fehlermeldung: java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben