Collections Probleme bei Zugriff auf Array

Mole23

Aktives Mitglied
Hi zusammen,

ich hätte noch einmal etwas anderes... Ich kann leider nicht debuggen, weil ich die Methode über einen Webservice aufrufe und bekomme immer beim Aufruf einer bestimmten Array eine Exception. Nun wollte ich kurz reinfragen ob folgender Zugriff eine typische Syntax ist, dann könnte ich schonmal ausschließen, dass es der Aufruf ist...:


Code:
String abtNrSend = this.resultArrayAbt_Nr[this.resultArrayAbt_Nr.length];
System.out.println(abtNrSend);


Besten Dank schonmal... :)
 

eRaaaa

Top Contributor
Wenn`s leer ist ist es leer, aber nicht null :)
Mache doch mal ein System.out.print von deinem Array
Java:
System.out.println(Arrays.toString(resultArrayAbt_Nr)); // null ??
 

Mole23

Aktives Mitglied
Hmmm, merkwürdig...

Im Setter sieht noch alles gut aus, da lasse ich die Daten auch über eine Schleife anzeigen... Jetzt gehe ich eine Methode weiter, starte n Timer, warte 5 Sek, gehe noch eine Methode weiter und Rufe die selbe Array wie folgt erneut auf und bekomme die NPE....


Code:
for (int k=0; k < this.resultArrayAbt_Nr.length; k++)
{
System.out.println("Abt_Nr...: " + this.resultArrayAbt_Nr[k]);
System.out.println("");
}

Soll ich noch mehr Code Posten? Besten Gruß!
 

Mole23

Aktives Mitglied
Ich geb mal etwas mehr Code zum Besten...

Code:
public String[] resultArrayAbt_Nr;

public void setResultArrayAbt_Nr(String[] resultArrayAbt_Nr) 
	{
		this.resultArrayAbt_Nr = resultArrayAbt_Nr;
		
		for (int k=0; k < this.resultArrayAbt_Nr.length; k++)
	   	{
	   		System.out.println("Abt_Nr...: " + this.resultArrayAbt_Nr[k]);
	   		System.out.println("");
	   	}
		
		System.out.println("Daten wurden erfolgreich empfangen...");
		System.out.println("");

                updateDatabaseDelay();
	}

public void updateDatabaseDelay()
	{
		ActionListener actionListener = new ActionListener()
		{
			public void actionPerformed(ActionEvent actionEvent)
			{
				System.out.println("Starting with Database-Update");
				
				updateDatabase();
				
				timer.stop();
			}
		};
		
		timer = new Timer(5000, actionListener);
		timer.start();
		
		System.out.println("Starting with Databaseupdate in 5 seconds...");
	}

public void updateDatabase()
	{
		Connection conn = null;
		Statement stmt = null;
		
		try 
		{
			//JDBC driver registration
		   Class.forName(JDBC_DRIVER);

		   //Connection opening
		   System.out.println("Connecting to a selected database...");
		   conn = DriverManager.getConnection(DB_URL, USER, PASS);
		   System.out.println("Connected database successfully...");
		   
		   //STEP 4: Execute a query
		   System.out.println("Creating statement...");
		   stmt = conn.createStatement();
		   System.out.println("Created statement successfully...");


//Diese Meldung sehe ich noch in der Console und dann kommt die NPE...
		   
		   for (int k=0; k < this.resultArrayAbt_Nr.length; k++)
		   	{
		   		System.out.println("Abt_Nr...: " + this.resultArrayAbt_Nr[k]);
		   		System.out.println("");
		   	}
		   
		   //String abtNrSend = this.resultArrayAbt_Nr[this.resultArrayAbt_Nr.length];
		   //System.out.println(abtNrSend);
		   
		   //String abtNameSend = this.resultArrayAbt_Name[this.resultArrayAbt_Name.length];
		   //System.out.println(abtNameSend);
			
           //stmt.executeUpdate("insert into abteilung  " +  "values(abtNrSend, abtNameSend, 'Hamburg')");
           //System.out.println("Database update successfully...");
		}
    
		catch( Exception e ) 
		{
			e.printStackTrace();        
			return;
		}
	}


Denke jetzt wird alles etwas deutlicher... Kannst du einen Fehler sehen? Gruß!
 

eRaaaa

Top Contributor
Mhm so auf die Schnelle würde ich vermuten, dass du dort evtl. ein visibility-Prob zwischen den Threads hast? :bahnhof:
Was passiert denn wenn du
Code:
resultArrayAbt_Nr
oben mal mit Werten vorbelegst?
[c]public String[] resultArrayAbt_Nr = {"hallo","welt"}; [/c]
oder mal mit volatile/synchronized rumspielst? =)
 

Mole23

Aktives Mitglied
Also im Setter überschreibe ich ja die Array und habe auch das richtige Result, deswegen bin ich mir recht sicher, dass die Array korrekt gefüllt ist... Und die Schleife habe ich ja per Guternberg kopiert... Das verwundert mich etwas...

Heißt denn NPE, dass die Array komplett leer ist oder das er nur den Index nicht findet?


Und natürlich vielen Dank, dass du dir so viel Mühe machst!!! :)
 

eRaaaa

Top Contributor
NPE heißt dass die Referenz auf kein Objekt zeigt, in deinem Fall also resultArrayAbt_Nr = null ist.
Dass du da im Setter was zuweist und es dort dann auch funktioniert habe ich schon verstanden, du hast aber mehrere Threads im Spiel, da muss man aufpassen. Es ist nicht sichergestellt, dass alle Threads "dieses Setzen" auch mitbekommen/sehen! (daher vermutete ich ja auch ein Sichtbarkeitsproblem)
Deswegen fragte ich ja, was passiert wenn du mal
Code:
public volatile String[] resultArrayAbt_Nr;
oder synchronized ausprobierst :)
Vllt. hilft uns allen auch ein kleines Minimalbeispiel was wir alle ausführen können auch aus :) (vllt kannst du da etwas vorbereiten). Dann kann man das besser nachvollziehen
 

Mole23

Aktives Mitglied
Jo, erstmal besten Dank! Ich probier erstmal n bissle mit dem "volatile" rum und ansonsten bau ich noch n kleines Beispiel zum Ausführen...

Besten Dank soweit!
 

Mole23

Aktives Mitglied
Hi, volatile hat leider noch nichts bewirkt... Kannst du mir evtl. sagen ob es in Java eine Möglichkeit gibt eine Array zu refreshen? ich kenne das von AS3 her, dann hat er die immer noch ein neu gespeichert... Gruß!
 

eRaaaa

Top Contributor
Mhm dort sehe ich aber keinen EDT?! Der Listener wird doch dort gar nicht ausgeführt...Erstelle in der main zumindest irgendwie ein JFrame und mache ihn visible oder so ?!
Oder versteh ichs hier einfach nur nicht? Kann ja auch sein :D
 

Mole23

Aktives Mitglied
Oh stimmt sorry, der funktioniert in dem anderen Ding aber definitiv... Woran liegt das denn jetzt? Vorführeffekt :D Sorry!
 

Mole23

Aktives Mitglied
Hä? Das verstehe ich jetzt nicht... Woran liegt das? Das ist mir eben garnicht aufgefallen. Also in dem anderen Pojekt geht das, da habe ich aber auch keinen Main-Void... Kannst du mir das mit dem JFrame etwas genauer erklären? Gruß!
 

eRaaaa

Top Contributor
Main-Void ???:L

Du hast in deinem Beispiel einfach kein GUI-Thread, ganz einfach. Haue zumindest ein new JFrame().setVisible(true) in deine main oder so :)
Ohne den EDT macht der (Swing-)Timer keinen Sinn. Wieso du da überhaupt einen Swing-Timer mit ActionListener gewählt hast, verstehe ich sowieso nicht, hast du dafür eine Erklärung?
 

Mole23

Aktives Mitglied
Ehlich gesagt nicht... Habe das so aus einem Beispiel übernommen und da zunächst alles funktioniert hat, dachte ich das wäre richtig :)

Wieso brauch ich denn ne GUI für den Timer?
 

eRaaaa

Top Contributor
Es gibt zwei Timer-Klassen. Einmal die aus java.util und einmal eben aus dem Swing-Package.
Da du aber gar keine GUI-Aktion ausführen willst (zumindest ist keine erkennbar) macht es auch kein Sinn den Code von dem GUI-Thread ausführen zu lassen(was du automatisch durch den Swing-Timer bzw. dem Listener machst).
Im Gegenteil, den Code den du in updateDatabase ausführst dauert viel zu lange und du würdest deine GUI nur blockieren in der Zeit.

Versuche es vllt. also auch mal mit dem anderen Timer :)
 

Mole23

Aktives Mitglied
Aha, dass könnte doch auch der Grund für das ursprüngliche Problem sein... Habs hier auch gerade im Handbuch gefunden... Gibt ja sogar drei Stück...

Ich probiers mal aus... Besten Dank!
 

Mole23

Aktives Mitglied
Davon mal abgesehen, tritt das Problem in dem Beispiel aber auch nicht auf, wenn ich ne Gui starte erkennt er jetzt auch die Array... Das ist doch verhext heute.. Besser erstmal bis morgen warten... Besten Dank erstmal... Gruß!

Klick me :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
B Vererbung Probleme bei Zugriff auf protected-Methoden in einer Unterklasse Java Basics - Anfänger-Themen 27
C Probleme beim casten und Objekt zugriff Java Basics - Anfänger-Themen 12
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
V Klassen ObjectInputStream ->ReadObject Probleme Java Basics - Anfänger-Themen 5
P Probleme mit der Do-Schleife Java Basics - Anfänger-Themen 2
F Erste Schritte Compiling Probleme Java Basics - Anfänger-Themen 13
S Neuling und Probleme bei Schulaufgabe Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
B Variablen Probleme mit Eclipse Java Basics - Anfänger-Themen 6
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
I Probleme bei Verzeichnissanalyse Java Basics - Anfänger-Themen 12
F Probleme mit privaten Klassen (abstrakten Klassen) Java Basics - Anfänger-Themen 1
H Probleme mit Klassen...oder: Eine Uhr Java Basics - Anfänger-Themen 9
G Probleme mit Konsole Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
G Probleme mit Eclipse oder der URL Klasse Java Basics - Anfänger-Themen 5
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
littles_de Simbad Simulator probleme mit Sensordaten... Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben