Probleme mit eigener equals Methode

Brainiac

Bekanntes Mitglied
So ich habe die Klasse Patient, davon speichere ich viele Objekte in einer Liste. Da ich nun verhindern möchte das zweimal das gleiche Objekt in der Liste gespeichert wird habe ich für die Klasse Patient eine equals(Object o) Methode geschrieben, damit ich dann vor dem einfügen Testen kann ob es schon vorhanden ist. Leider fügt er mir das eigentlich gleiche Object (Ich parse das aus der Zwischenablage) immer wieder ein. Ich vermute daher das ich die equals Methode in der Klasse Patient nicht ganz korrekt implementiert habe, vor allem, da mir da Netbeans auch noch Vorschläge zu gemacht hat.

Ich weiß das der _ hat eigentlich nix am Variablen Anfang zu suchen hat, hatte mir das mal für Klassenweite Variablen angewöhnt und arbeite gerade daran das wieder abzustellen. Also nicht dran stören.

Der ID Wert in der Klasse Patient wird erst nach dem einfügen in die DB gesetzt, daher muss er für das equals ignoriert werden. (Wird der interne Zähler der DB).

So hoffe ihr könnt mir helfen:

So hier der Code Ausschnitt vom einfügen:
Java:
private List<Patient> _patientList;
_patientList = new ArrayList<Patient>();

Patient actualPatient = _KHValues.parsePatientFromHTML(patientFromClipboard);
if (!_patientList.contains(actualPatient)) {
    actualPatient.setID(_DBHandler.insertPatient(actualPatient));
    _patientList.add(actualPatient);
    repaint();
}

Und hier die Klasse Patient
Java:
/**
 * @author Brainiac
 */

package de.brainiac.kapihospital.khmanager;

import java.util.Arrays;

public class Patient extends Object {
    private int _ID;
    private String _patientName;
    private int[] _diseases;
    private boolean[] _treatedDiseases;
    private Double _minPrice, _maxPrice;
    
    public Patient(String name, int[] diseasses, Double minPrice, Double maxPrice) {
        _patientName = name;
        _diseases = diseasses;
        _minPrice = minPrice;
        _maxPrice = maxPrice;

        _treatedDiseases = new boolean[_diseases.length];
        for (boolean b : _treatedDiseases) {
            b = false;
        }
    }

    public Patient(int id, String name, int[] diseasses, boolean[] treatedDiseases, Double minPrice, Double maxPrice) {
        _ID = id;
        _patientName = name;
        _diseases = diseasses;
        _treatedDiseases = treatedDiseases;
        _minPrice = minPrice;
        _maxPrice = maxPrice;        
    }

    public int getID() {
        return _ID;
    }

    public void setID(int i) {
        _ID = i;
    }

    public String getName() {
        return _patientName;
    }

    public int[] getDiseases() {
        return _diseases;
    }

    public boolean[] getTreatedDiseases() {
        return _treatedDiseases;
    }

    public int getNumberOfDiseases() {
        int numberOfDiseases = 0;
        for (boolean b : _treatedDiseases) {
            if (!b) {
                numberOfDiseases++;
            }
        }
        return numberOfDiseases;
    }

    public Double getMinPrice() {
        return _minPrice;
    }

    public Double getMaxPrice() {
        return _maxPrice;
    }

    @Override
    public boolean equals(Object o) {
        if (o == null) {
            return false;
        } else if (o.getClass() != getClass()) {
            return false;
        } else if (!((Patient)o).getName().equalsIgnoreCase(_patientName)) {
            return false;
        } else if (Arrays.equals(((Patient)o).getDiseases(), _diseases)) {
            return false;
        } else if (((Patient)o).getMinPrice() != _minPrice) {
            return false;
        } else if (((Patient)o).getMaxPrice() != _maxPrice) {
            return false;
        } else if (((Patient)o).hashCode() != hashCode()) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 79 * hash + (this._patientName != null ? this._patientName.hashCode() : 0);
        hash = 79 * hash + Arrays.hashCode(this._diseases);
        hash = 79 * hash + Arrays.hashCode(this._treatedDiseases);
        hash = 79 * hash + (this._minPrice != null ? this._minPrice.hashCode() : 0);
        hash = 79 * hash + (this._maxPrice != null ? this._maxPrice.hashCode() : 0);
        return hash;
    }
}
 

Ariol

Top Contributor
In Zeile 83 fehlt das "!".
Außerdem ist es sicherer die eigenen Attribute als LValue zu verwenden, falls die Getter des übergebenen Objects null zurückliefern.

Wenn das nicht geholfen hat: einfach Mal einen Breakpoint an den Anfang der Funktion setzen und gucken was passiert.
 

eRaaaa

Top Contributor
Zudem was Ariol sagte musst du auch equals bei deinem minPrice maxPrice benutzen
ala`
Java:
        } else if (!((Patient)o).getMinPrice().equals(_minPrice)) {
            return false;
        } else if (!((Patient)o).getMaxPrice().equals(_maxPrice)) {

da du in deinen Methoden
Code:
Double
zurück lieferst(also Objekte) und keine
Code:
double
! == -> Referenzvergleich

(warum castest du nicht eig. einmal zu Beginn der equals Methode anstatt jedes mal ? :D )
 

Brainiac

Bekanntes Mitglied
Das mit dem Ausrufezeichen hatte ich übersehen, danke. Ist geändert.

Die Double hab ich auch mal in double umgeändert. Keine Ahnung warum ich da Objekte benutz habe.
Das mit dem Cast hatte ich vorher mit einmal casten, aber dann fing Netbeans an mir da Vorschläge für die Methode zu machen und dann hab ich das umgestellt, das die Warnung und Meldungen weg waren, so sollte es aber auch gehen und sieht schöner aus.

Zum Verständniss:
Code:
_patientList.contains(actualPatient)

nimmt nun das actualPatient Object und ruft nacheinander mit allen in der liste befindlichen Objekten die equals Methode von actualPatient auf, oder wird von jedem Element in der Liste die equals Methode aufgerufen und actualPatient übergeben? Nur damit ich beim Debuggen besser verstehe was passiert.

@Ariol was meinst Du mit dem Satz:
Attribute als LValue zu benutzen? Gib mal nen kurzes Bsp. Meinst Du die Notation?
 

Ariol

Top Contributor
Statt
Java:
((Patient)o).getName().equalsIgnoreCase(_patientName)
das hier verwenden:
Java:
!_patientName.equalsIgnoreCase(((Patient)o).getName())


Also etwa so:
Java:
    @Override
    public boolean equals(Object o) {
        if (o == null) {
            return false;
        } 
        if (o.getClass() != getClass()) {
            return false;
        } 

        Patient patient = (Patient)o;

		if (!_patientName.equalsIgnoreCase(patient.getName())) {
			return false;
		}			
        if (!Arrays.equals(_diseases,patient.getDiseases())) {
            return false;
        }
		if (!_minPrice.equals(patient.getMinPrice())) {
            return false;
        } 
		if (!_maxPrice.equals(patient.getMaxPrice())) {
            return false;
        }
		if (patient.hashCode() != hashCode()) {
            return false;
        }
        return true;
    }

Wenn du dann in einem der Getter etwas änderst, so dass null zurückgegeben wird bekommst du so keine NPE.

EDIT: Dadurch dass du mit return abbrichst brauchst du kein else. Ich finde der Code ist so lesbarer ::wink::. Macht keinen Unterschied in der Ausführung. Reine Geschmacksache.
 
Zuletzt bearbeitet:

Brainiac

Bekanntes Mitglied
Danke für eure Hilfen:

Funktioniert nun, aber eine Frage hätte ich noch:
Netbeans hat mir dann die hashCode() Funktion gestrikt. Würde nicht eigentlich nur die Überprüfung der beiden hashWerte ausreichen?

die beiden Funktionen equals und hashCode:
Java:
    @Override
    public boolean equals(Object o) {
        Patient patient = (Patient)o;
        if (o == null) {
            return false;
        }
        if (o.getClass() != getClass()) {
            return false;
        }
        if (!_patientName.equalsIgnoreCase(patient.getName())) {
            return false;
        }
        if (!Arrays.equals(_diseases, patient.getDiseases())) {
            return false;
        }
        if (_minPrice != patient.getMinPrice()) {
            return false;
        }
        if (_maxPrice != patient.getMaxPrice()) {
            return false;
        }
        if (hashCode() != patient.hashCode()) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 47 * hash + (this._patientName != null ? this._patientName.hashCode() : 0);
        hash = 47 * hash + Arrays.hashCode(this._diseases);
        hash = 47 * hash + (int) (Double.doubleToLongBits(this._minPrice) ^ (Double.doubleToLongBits(this._minPrice) >>> 32));
        hash = 47 * hash + (int) (Double.doubleToLongBits(this._maxPrice) ^ (Double.doubleToLongBits(this._maxPrice) >>> 32));
        return hash;
    }
 
S

SlaterB

Gast
die Gleichheit der Hashes sagt was über eine abstrakte Form von Ähnlichkeit von Objekten aus, aber nicht unbedingt etwas über Gleichheit,
es gibt nur x Mill. ints, also verschiedene Hashcodes, aber bereits mehr Strings mit nur 10 Zeichen oder was auch immer

"Hallo" und "jhfhuhfuieefhiuwehwefuih" könnten zufällig denselben Hashcode haben, sind die dann auch gleich?
den Hashcode zu vergleichen kann aus der equals-Methode eigentlich gestrichen werden, wurde das automatisch erzeugt?
 
M

maki

Gast
Der ID Wert in der Klasse Patient wird erst nach dem einfügen in die DB gesetzt, daher muss er für das equals ignoriert werden.
Du beschreibst die Ursache deines Problemes.

Die ID sollte das einzige sein, wonach man Entities unterscheidet, deine equals & hashCode Methoden wären dann auch wirklich simpel ;)
Eine mögliche Lösung wäre, die ID nicht erst von der DB vergeben zu lassen.
 

ThreadPool

Bekanntes Mitglied
Nein die Hashwerte zu vergleichen reicht nicht, es gilt zwar das gegeben equals ist wahr für zwei Objekte auch die Hashwerte identisch zu sein haben aber daraus zu schließen das wenn zwei identische Hashwerte vorliegen auch equals() true liefern würde ist nicht richtig. Letzteres "kann" sein "muss" aber nicht.

Apropos leserliche Form das && in Java ist ein "Short-Circuit"-Operator, d.h. sobald er auf ein "false" trifft bricht er die Auswertung ab und gibt false für den Ausdruck zurück ohne sich den Rest anzusehen. Das equals könnte man leserlicher z.b. auch so schreiben:

Java:
    @Override
    public boolean equals(Object o) {
        return o != null 
            && o.getClass() == getClass()
            && equals((Patient)o);
    }
 
    private boolean equals(Patient other){
        return _patientName.equalsIgnoreCase(other._patientName)
            && Arrays.equals(_diseases, other._diseases)
            && _minPrice.equals(other._minPrice)
            && _maxPrice.equals(other._maxPrice)
            && hashCode() == other.hashCode();
    }

PS: Die underscores kannst du lassen, manche schreiben sie auch dahinter. Erstens sieht man die "privaten" member sowieso nicht von aussen und Zweitens spart man sich dann dieses Gefummel mit "this" wenn man die Methodenargumente gleich nennt etc.
 
Zuletzt bearbeitet:

ThreadPool

Bekanntes Mitglied
[...]
Die ID sollte das einzige sein, wonach man Entities unterscheidet[...]

Das ist nicht ganz richtig, wenn du z.B. eine Schicht wie Hibernate verwendest benötigst du equals() fürs "dirty-checking", also um zu überprüfen ob sich der Objektzustand geändert hat, die ID aber identisch bleibt/bleiben muss.
 
Zuletzt bearbeitet:
M

maki

Gast
Das ist nicht ganz richtig, wenn du z.B. eine Schicht wie Hibernate verwendest benötigst du equals(), fürs "dirty-checking", sprich ob sich der Objektzustand geändert hat die ID aber identisch bleibt/bleiben muss.
Doch, das ist Grundsätzlich richtig, das ist das entscheidende Merkmal von Entities: Sie unterscheiden sich nicht anhand ihrer Attributwerte, sondern haben eine Identität, ein Hans Müller ist eben eindeutig, aber nicht vom namen her.

"dirty checking" dagegen ist falsch, Hibernate nutzt die id nur in der insertOrUpdate Methode (die man aber cniht wirklich braucht wenn man seine UseCases kennt), dirty checking wird mit entweder mit PropertyChangeSupport umgesetzt, oder mit direktem Attributvergleich, aber die ID darf sich ja nie ändern wenn sie mal gesetzt ist, d.h. dirty checking mit der Id macht gar keinen Sinn und daher macht equals als dirty check keinen Sinn für Entities (für ValueObjects/Embeddables dagegen schon).
 

ThreadPool

Bekanntes Mitglied
Doch, das ist Grundsätzlich richtig, das ist das entscheidende Merkmal von Entities: Sie unterscheiden sich nicht anhand ihrer Attributwerte, sondern haben eine Identität, ein Hans Müller ist eben eindeutig, aber nicht vom namen her.

"dirty checking" dagegen ist falsch, Hibernate nutzt die id nur in der insertOrUpdate Methode (die man aber cniht wirklich braucht wenn man seine UseCases kennt), dirty checking wird mit entweder mit PropertyChangeSupport umgesetzt, oder mit direktem Attributvergleich, aber die ID darf sich ja nie ändern wenn sie mal gesetzt ist, d.h. dirty checking mit der Id macht gar keinen Sinn und daher macht equals als dirty check keinen Sinn für Entities (für ValueObjects/Embeddables dagegen schon).

Ich glaube nicht das ich davon gesprochen habe das sich die Id ändert oder irgendwie in einem dirty-check verarbeitet wird. Spontan fällt mir zu dem Thema, weshalb ein ID-Vergleich vll. nicht die beste Idee ist, Kapitel 9 aus Java Persistence with Hibernate 2nd ed. ein. Da findest du auch Inspiration über die Ursachen weshalb man vll. doch ein equals benötigt wenn man mit Hibernate arbeitet.

Und die Use-Cases bei mir vor Ort verlangen ein sauber implementiertes equals, da es zu den sonderbarsten Effekten kam wenn die equals-Methoden nicht richtig implementiert wurden.
 
M

maki

Gast
Ich glaube nicht das ich davon gesprochen habe das sich die Id ändert oder irgendwie in einem dirty-check verarbeitet wird. Spontan fällt mir zu dem Thema, weshalb ein ID-Vergleich vll. nicht die beste Idee ist Kapitel 9 aus Java Persistence with Hibernate 2nd ed. ein. Da findest du auch Inspiration über die Ursachen weshalb man vll. doch ein equals benötigt wenn man mit Hibernate arbeitet.
equals benötigt man immer, nicht nur mit Hibernate, hab nix anderes behauptet, aber bei Entitities ist eben die ID auschlaggegebend.
Warum Entites Ids brauchen, selbst bevor sie in der Db gespeichert werden, findest du in u.a. Domain Driven Design von Eric Evans.

Wenn man das ORM die ID vergeben lässt, ist man abhängig davon, ob die Entities transient ist oder schon persistiert sind, dann kann man nur entweder alles speichern (und ggf. wieder löschen) bevor man damit arbeitet, oder man kann plötzlich nicht mehr Java Standard Collections und Maps verwenden.

Und die Use-Cases bei mir vor Ort verlangen ein sauber implementiertes equals, da es zu den sonderbarsten Effekten kam wenn die equals-Methoden nicht richtig implementiert wurden.
Eben, wirklich sauber heisst aber :
1. Die ID wird bei Objekterzeugung vergeben
2. equals bezieht nur auf die Id, sonst nix

Die Ids vom ORM vergeben zu lassen funktioniert eben nur bei einfachen CRUD Anwendungen wenn man die Einschränkungen beachtet, ist keine saubere Lösung, sondern fragil und eher als "Q&D" einzuordnen.
 

ThreadPool

Bekanntes Mitglied
Ich glaube wir reden aneinander vorbei. Mein Beispiel war explizit auf Hibernate gemünzt und bei Hibernate läuft es, meines Erachtens nach so, dass wenn ein Objekt innerhalb einer "unit-of-work" geändert wird Hibernate "automatisch" das Objekt in der DB aktualisiert wenn es eine Änderung bemerkt und um zu sehen ob der persistente Zustand aktualisiert werden muss wird ein per-value-Vergleich durchgeführt und dazu werden die equals-Methoden verwendet. Und wenn man dort nur einen "ID" check macht wird schlimmstensfalls gesagt, es ist das selbe Objekt ohne Änderungen und als Folge wird der persistente Zustand in der DB nicht aktualisiert.
 
Zuletzt bearbeitet:
M

maki

Gast
Ich glaube wir reden aneinander vorbei. Mein Beispiel war explizit auf Hibernate gemünzt und bei Hibernate läuft es, meines Erachtens nach so, dass wenn ein Objekt innerhalb einer "unit-of-work" geändert wird Hibernate "automatisch" das Objekt in der DB aktualisiert wenn es eine Änderung bemerkt und um zu sehen ob der persistente Zustand aktualisiert werden muss wird ein per-value-Vergleich durchgeführt und dazu werden die equals-Methoden verwendet. Und wenn man dort nur einen "ID" check macht wird schlimmstensfalls gesagt, es ist das selbe Objekt ohne Änderungen und als Folge wird der persistente Zustand in der DB nicht aktualisiert.
Wie gesagt, m.E. hast du Hibernate falsch verstanden, equals wird _nicht_ für den dirty check genutzt, sondern die Attribute einzeln verglichen.

EclipseLink zB. nutzt den PropertyChangeSupport, läuft auf dasselbe hinaus: haben sich Attribute geändert oder nicht, equals() hat damit rein gar nix zu tun.

Nur die ID in equals bei Entities zu nutzen ist ein übliches verfahren, das aber nicht sauber funktioniert, wenn die Id erst nach dem persistieren vergeben wird.
 
M

maki

Gast
Mhm, dann werde ich in der Richtung mal nach Literatur suchen, falls dir spontan welche einfallen die da etwas mehr das technische Detail beschreiben immer her damit.
Bei Google findet man was, aber alle Ergebnisse laufen darauf hinaus, dass die Attribute verglichen werden.

Wäre ja auch sehr "einschränkend" (diplomatisch ausgedrückt) wenn equals immer nur alle Attribute vergleichen würde, das ist ValueObject Semantik, nicht die von Entities.
 

Brainiac

Bekanntes Mitglied
Ich sag mal allen Danke! Freut mich das ich euch mit einer einfachen Frage in eine so rege Diskussion verwickeln konnte und noch einige andere was lernen konnten.
 
M

maki

Gast
Ich sag mal allen Danke! Freut mich das ich euch mit einer einfachen Frage in eine so rege Diskussion verwickeln konnte und noch einige andere was lernen konnten.
Ist dir denn nun klar warum es keine gute Idee ist die Attribute einer Entity in equals zu vergleichen?

Was passiert denn, wenn du 2 oder mehr Patienten hast mit demselben namen, min-/maxpreis etc.?
Echte Krankenhaus SW darf so nicht arbeiten...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Mein eigener Messenger und dessen Probleme Allgemeine Java-Themen 48
V Probleme mit eigener Hashmap Allgemeine Java-Themen 10
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
S Umstellung von File auf Path - Probleme mit Stream Allgemeine Java-Themen 5
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
M tomcat probleme Allgemeine Java-Themen 1
N Division macht Probleme Allgemeine Java-Themen 14
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
MarvinsDepression Probleme mit relativem Dateipfad Allgemeine Java-Themen 1
G Geotools Probleme nach PC-Wechsel Allgemeine Java-Themen 6
nibe1501 GUI Probleme Allgemeine Java-Themen 16
C Probleme mit dem WindowBuilder Allgemeine Java-Themen 3
P Selenium . Probleme ein Iron Icon Element anzusprechen Allgemeine Java-Themen 2
B Compiler-Fehler Probleme beim Kompilieren mit Jsoup Allgemeine Java-Themen 8
K VisualVM Profiling Remote Probleme Allgemeine Java-Themen 1
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
M Probleme bei Eclipse wenn ich entpacke Allgemeine Java-Themen 15
D Regex Probleme Allgemeine Java-Themen 2
M Probleme jar datei. Allgemeine Java-Themen 2
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
Dann07 Probleme mit OpenAL Allgemeine Java-Themen 0
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
V Compiler-Fehler Online Compiler Probleme Allgemeine Java-Themen 4
M Probleme mit Negamax-Algorithmus Allgemeine Java-Themen 29
M Probleme mit BigDecimal Allgemeine Java-Themen 1
T Probleme mit NumberFormat Allgemeine Java-Themen 5
J Probleme exe-Start mit Task Scheduler Allgemeine Java-Themen 1
B Input/Output Probleme beim Ausführen von Shell-Befehlen mit Java Allgemeine Java-Themen 28
J Probleme beim einbinden von Zip4j library Allgemeine Java-Themen 6
F Variablen Palindromzahl (Probleme mit Methode) Allgemeine Java-Themen 9
K Data Konverter - Probleme mit Byte[] Kodierung Allgemeine Java-Themen 3
T Probleme mit dem Pfad zum Propertie file Allgemeine Java-Themen 7
H Swing HashMap zu Tabelle macht mir Probleme Allgemeine Java-Themen 4
Neoline Interpreter-Fehler Probleme mit Arrays.toString Allgemeine Java-Themen 7
F SQLite mit Java / Probleme beim INSERT Befehl Allgemeine Java-Themen 4
J Erste Schritte Probleme mit der Hauptklasse Allgemeine Java-Themen 14
J Tetris Probleme bei Klassen Allgemeine Java-Themen 14
J MinMax VierGewinnt Probleme Allgemeine Java-Themen 22
J Probleme mit CodeCoverage und Lombok Equals Allgemeine Java-Themen 1
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
R Snake Probleme Allgemeine Java-Themen 2
A Probleme beim Verstehen einer Aufgabenstellung Allgemeine Java-Themen 11
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
Bluedaishi Druck Probleme mit PDF dateien Allgemeine Java-Themen 4
G Ant Probleme bei einer Installation die Apache ant+ivy verwendet Allgemeine Java-Themen 14
E TableView Probleme Allgemeine Java-Themen 7
perlenfischer1984 Probleme beim Mocken Allgemeine Java-Themen 6
S Kaffemaschine Programmierung Probleme Allgemeine Java-Themen 2
K Threads Runtime und Process Probleme Allgemeine Java-Themen 3
S Probleme mit unterschiedlichen Java-Versionen (Mac OS X 10.11) Allgemeine Java-Themen 0
S Event Handling keyPressed()-Probleme Allgemeine Java-Themen 2
VfL_Freak Große und seltsame Probleme nach Java-Update auf V1.8.0_91 Allgemeine Java-Themen 3
P Probleme mit Grafik (Java) Allgemeine Java-Themen 6
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
H Probleme mit DAY_OF_WEEK Allgemeine Java-Themen 4
Arif Probleme mit NullPointerException Allgemeine Java-Themen 2
E Probleme mit nextInt() und Exception Allgemeine Java-Themen 35
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
D Performance-Probleme mit Joda-Time Allgemeine Java-Themen 3
M Probleme beim rechnen, bei Zahlen mit führenden Nullen. Allgemeine Java-Themen 7
RalleYTN Probleme mit Encrypting Allgemeine Java-Themen 10
M Probleme mit Schriftarten PDFBox Allgemeine Java-Themen 3
J Probleme mit der Java-Runtime Allgemeine Java-Themen 10
G Probleme mit BufferedWriter und URL Allgemeine Java-Themen 4
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
Androbin Interpreter-Fehler Probleme mit Rekursion - StackOverflowError Allgemeine Java-Themen 8
E JCuda-0.6.5 Probleme beim ausführen der Datei Allgemeine Java-Themen 0
M Runtime.exec() verursacht auf manchen Systemen Probleme - Ursache unklar Allgemeine Java-Themen 2
W JNDI - LDAP - Probleme beim editieren von Usern Allgemeine Java-Themen 0
R DBUnit Performance Probleme Allgemeine Java-Themen 0
S Probleme mit Collection Allgemeine Java-Themen 7
L Probleme mit Jar Allgemeine Java-Themen 6
N Zahlensysteme umrechnen; Probleme beim Umwandeln Allgemeine Java-Themen 4
K OOP OOP Gui Spiel + Vererbungen Probleme durch Nichtwissen!! Allgemeine Java-Themen 1
F Java Native/Shared Library (.so) laden macht Probleme Allgemeine Java-Themen 3
J Synchronized Probleme Allgemeine Java-Themen 7
J Java Progressbar & Download Probleme Allgemeine Java-Themen 10
S Probleme mit dem filechooser Allgemeine Java-Themen 1
J Comperator Probleme Allgemeine Java-Themen 4
A Probleme beim auslesen von Quelltext (HTML) Allgemeine Java-Themen 5
S Probleme mit Webappplikation Allgemeine Java-Themen 5
L Plötzlich Probleme mit der JVM :( Allgemeine Java-Themen 6
S starke performance probleme des forums Allgemeine Java-Themen 10
K Probleme bei Berechnung der Komplexität Allgemeine Java-Themen 7
R JRE Ablaufdatum seit 7u10 - Probleme bei selbst ausgelieferter JRE bekannt? Allgemeine Java-Themen 3
H Reg Exp Probleme Allgemeine Java-Themen 5
M Classpath Probleme bei JAR Generierung Allgemeine Java-Themen 2
S Probleme mit JAVA-Installation Allgemeine Java-Themen 3
D Probleme bei for-Schleife Allgemeine Java-Themen 4
R Probleme mit Javadoc Allgemeine Java-Themen 2
G Gson Probleme Allgemeine Java-Themen 2
P KI für TicTacToe programmieren > Probleme Allgemeine Java-Themen 2
M Google App Engine macht Probleme Allgemeine Java-Themen 4
H Probleme mit finally-Block und close() Allgemeine Java-Themen 4
F 2d array probleme Allgemeine Java-Themen 2
M 3D-Grafik Probleme beim drehen von Objekten Allgemeine Java-Themen 9
T Interface Probleme Allgemeine Java-Themen 8
C Eclipse Probleme bei selbst erstelltem Algorithmus Allgemeine Java-Themen 2
M Probleme mit String in Label übergeben. Allgemeine Java-Themen 6
H MediaManager Fragen/Probleme Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben