HashMap richtig zurückgeben

Status
Nicht offen für weitere Antworten.

shiRiaRu

Mitglied
Hi all,

Ich bin etwas verwirrt was dieses Problem angeht.
Ich versuche die wiedergegebe HashMap aus einer meiner Methoden
einer HashMap in meiner main Methode zuzuweisen.

wenn ich nicht caste kommt:

found : java.lang.Object
required: java.util.HashMap

Wenn ich es wie unten gezeigt mache bekomme ich "null" zurück.

Code:
In der MainMethode:
------------------------

HashMap testentries = new HashMap();
testentries = (HashMap)NodeListReader.readNodeList();

In einer anderen Klasse "NodeListReader" die Methode readNodeList() :
----------------------------------------------------------------------------------

public static Object readNodeList()
{
   HashMap entries = new HashMap();
   blubb blubb HashMap füllen usw
   return entries;
}
 
G

Guest

Gast
Komischerweise nicht bzw es geht schon: ich kann es so ändern
wie du schon gesagt hast und das auch ohne Compilerfehler.
Ich lasse mir ja kurz bevor ich die HashMap returnen lasse eine
zeile davor ein value testweise ausgeben d.h die HashMap ist != null

Wenn ich das aber bei der HashMap in der Main (der ja der
returnwert zugeweisen wird) versuche. bekomme ich eine nullpointer
exeption.
 
B

bygones

Gast
ich kann in dem kurzen Abschnitt keinen Fehler entdecken.
Allgemein würde ich auch als Rückgabe HashMap nehmen - da dies ja auch so (scheinbar) gewollt ist.

Poste mal mehr Code (von der blubb blubb sache / main method)
 

shiRiaRu

Mitglied
Die Klasse sieht so aus:
---------------------------

Code:
import java.io.*;
import java.util.*;
import javax.swing.tree.*;
	
public class NodeListReader
{	
	static String[] result;
	static String[] subresults;
	static HashMap entries;
	
	public static HashMap readNodeList()
	{	
		String fullstring = "";
		try
		{
			File sourcefile = DocLoadMethods.loadChooser();
			int filelenght = (int)sourcefile.length();
			
			if(sourcefile != null)
			{
				FileInputStream streamin = new FileInputStream(sourcefile);
				byte[] byte_array = new byte[filelenght];
				char[] char_array = new char[filelenght];
				
				streamin.read(byte_array);
				
				for(int i=0;i<byte_array.length;i++)
				{	
					char_array[i] = (char)byte_array[i];
					fullstring = fullstring + char_array[i] ;
				}
				streamin.close();

				result = fullstring.split("\n");
				TextIO.putln("Fullstring Länge"+result.length);
				
				HashMap entries = new HashMap();

				for(int x=0;x<result.length;x++)
				{
					subresults = result[x].split("\t");
					TextIO.putln("Object="+subresults[0]+"  &  Value="+subresults[1]);
					entries.put(subresults[0],subresults[1]);
				}
				if(entries != null)
      			{
      				TextIO.putln("-> NodeListReader -> HashMap -> Voll -> OK");      					
      			}
				Object muu = entries.get("aligator-02");
      			TextIO.putln("aligator-02: value="+muu.toString());
			}
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
		return entries;
	}
}
 

shiRiaRu

Mitglied
Eigentlich ist der Quelltext in der Methode egal da die HashMap Einträge besitzt.
Ich bekomme ja vor dem return noch folgenden output:

aligator-02: value=Böser Aligator


Sprich das stand auch in meiner text datei die ich da byteweise einlese.
 
B

Beni

Gast
Noch eine Bemerkung:

Schon mal das ausprobiert?
Code:
byte[] array = ...
String string = new String( array );
:wink:


Ich sehe in dieser Methode auch keinen Fehler, aber poste doch mal die Ausgabe der NullPointerException. (Und die Methode, in der sie ausgelöst wird gleich mit, sofern es nicht readNodeList ist)
 
B

bygones

Gast
Beni hat gesagt.:
Ich sehe in dieser Methode auch keinen Fehler, aber poste doch mal die Ausgabe der NullPointerException. (Und die Methode, in der sie ausgelöst wird gleich mit, sofern es nicht readNodeList ist)
Mach mal um deinen Code in der main Methode ein try & catch. Fange dort den NullPointer ab und gib dir über e.printStackTrace() den Fehler aus.

Falls du mit irgendeiner IDE arbeitest kannst du ja notfalls auch mal den Debug Modus laufen lassen...
 
B

bygones

Gast
HAB ES !!!

Du hast eine statische HashMap entries, die wird aber nie intialisiert. was du füllst ist eine lokale Variable entries !!! Daher klappt das füllen und deine Debug ausgabe ohne Probleme, zurückgegeben wird aber die statische Variable entries.

also statt:
Code:
HashMap entries = new HashMap();
einfach
Code:
entries = new HashMap();
dadurch wird die statische genommen !!
 

shiRiaRu

Mitglied
Danke für den string tip :roll:

Die Main Methode ist mit 377 zeilen etwas zu gross zum posten drum hier auszugsweise:
Als KlassenVariable habe ich das stehen: (weil ich die HashMap noch verwenden möchte)

Code:
      static  HashMap testentries;

In der Main Methode steht:

Code:
     testentries = NodeListReader.readNodeList();
     Object muu = testentries.get("aligator-02");               
     TextIO.putln("aligator-02: value="+muu.toString());

Object muu = testentries.get("aligator-02"); //zeile 290


java.lang.NullPointerException
at JTreeOutput.actionPerformed(JTreeOutput.java:290)
 
B

bygones

Gast
:roll: :D hihi war sekunden schneller mit der Lösung (siehe oben)
 
B

bygones

Gast
kein Problem - habe gerne geholfen :lol:
Geltungsbereiche von Variablen sind das eine, überschreiben von statischen / Instanz Variablen das andere....

Da lob ich mir dann mal wieder ne IDE, die mich vor so etwas warnt :roll: :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
Z HashMap richtig benutzen Java Basics - Anfänger-Themen 2
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
krgewb HashMap Java Basics - Anfänger-Themen 2
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
berserkerdq2 Hashmap, wie prüfe ich ob ein Key schon existiert Java Basics - Anfänger-Themen 19
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
F gson mit einer Hashmap Java Basics - Anfänger-Themen 2
J JSON-HashMap Java Basics - Anfänger-Themen 3
J Hashmap Java Basics - Anfänger-Themen 13
C Hashmap zickt Java Basics - Anfänger-Themen 9
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
J HashMap Java Basics - Anfänger-Themen 6
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
O HashMap - ArrayList Java Basics - Anfänger-Themen 29
J Hashmap langsamer als compareTo? Java Basics - Anfänger-Themen 23
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
M Objekt mit Hashmap vergleichen Java Basics - Anfänger-Themen 22
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
J Hashmap auslesen Java Basics - Anfänger-Themen 7
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
shiroX Methoden Morse-Code Übersetzer mit HashMap Java Basics - Anfänger-Themen 5
E HashMap Problem Java Basics - Anfänger-Themen 5
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
T HashMap und die Methoden Java Basics - Anfänger-Themen 13
N Methoden Interaktives PDF mit HashMap befüllen Java Basics - Anfänger-Themen 0
Z Hashmap auseinandernehmen und analysieren Java Basics - Anfänger-Themen 7
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
F HashMap oder welches Array? Java Basics - Anfänger-Themen 4
T HashMap Java Basics - Anfänger-Themen 24
L Hashmap mit variablem Key Java Basics - Anfänger-Themen 9
M Collections Probleme mit Hashmap Java Basics - Anfänger-Themen 4
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
lgund HashMap // TS3 Query Java Basics - Anfänger-Themen 7
Z Hashmap Iterator löscht nicht Java Basics - Anfänger-Themen 8
E Hashmap Wert auslesen Java Basics - Anfänger-Themen 2
S Printstream für einen Hashmap Loop Java Basics - Anfänger-Themen 1
dat_vin OOP Hashmap und Attribute Java Basics - Anfänger-Themen 7
C Check ob eine HashMap schon existiert Java Basics - Anfänger-Themen 16
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
R Hashmap in anderer Klasse nicht benutzbar Java Basics - Anfänger-Themen 1
T Java Hashmap Java Basics - Anfänger-Themen 3
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
K HashMap mit Daten aus ArrayList befüllen Java Basics - Anfänger-Themen 14
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
O HashMap Fragen Java Basics - Anfänger-Themen 8
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
M Semantisches Problem HashMap/Netzwerk Java Basics - Anfänger-Themen 4
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
M HashMap keys ausgeben Java Basics - Anfänger-Themen 2
S In einer Hashmap Klassen regestrieren Java Basics - Anfänger-Themen 2
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
G HashMap Java Basics - Anfänger-Themen 6
F Wortpaare - HashMap - ArrayList Java Basics - Anfänger-Themen 6
M HashMap Frage Java Basics - Anfänger-Themen 3
M HashMap - put() reagiert nicht? Java Basics - Anfänger-Themen 8
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
A CSV Zeilenweise einlesen und in einer HashMap speichern Java Basics - Anfänger-Themen 12
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
F Hilfe bei der HashMap. Java Basics - Anfänger-Themen 3
F HashMap vs. TreeMap Java Basics - Anfänger-Themen 5
B HashMap Java Basics - Anfänger-Themen 9
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
V Hashmap Iterieren Java Basics - Anfänger-Themen 4
C Csv File in Hashmap ausgeben Java Basics - Anfänger-Themen 14
T HashMap<String,Object> Werte auslesen Java Basics - Anfänger-Themen 5
I HashMap sortieren Java Basics - Anfänger-Themen 10
I HashMap Java Basics - Anfänger-Themen 11
H Collections Brauche modifizierte HashMap Java Basics - Anfänger-Themen 6
H TreeMap/HashMap synchronisieren Java Basics - Anfänger-Themen 2
A Datentypen Hashmap to Array Java Basics - Anfänger-Themen 11
D HashMap überschreibt Werte Java Basics - Anfänger-Themen 7
pg1337 Interface Comparable-Interface bei HashMap Java Basics - Anfänger-Themen 21
D erweiterte hashmap Java Basics - Anfänger-Themen 5
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
L HashMap zu JList Java Basics - Anfänger-Themen 6
S Erste Schritte HashMap Kurze Frage - Werte über Schleife ausgeben Java Basics - Anfänger-Themen 30
F Collections ArrayList oder Hashmap mittel Collections.sychronised Java Basics - Anfänger-Themen 6
B Klassen HashMap Zwei Objekte, gleicher Key Java Basics - Anfänger-Themen 4
N HashMap fehlerhafte Rückgabe Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben