ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
364
364
EMPFEHLEN
-
01.08.08 03:29 #1
- Registriert seit
- Jul 2008
- Beiträge
- 71
Ich leite mehrere Klassen von verschiedenen übergeordneten Interfaces ab und möchte dann später die Objekte, welche ich von einen anderen Package aus über dias Interface anspreche vergleichen (via ==) also auf Objektgleichheit und nicht auf den selben inhalt, geht das nicht?
Ich habe in den Klassen welche von diesen Interfaces ableiten z.B Strings deklariert und bei einigen Instanzen sind die Strings genau gleich deswegen kann ich nicht via equals vergleichen weil ich dann falsche Werte erhalte, ich hoffe man versteht mein Problem!
-
Hallo,
also da du ein Problem zu haben scheinst, hab ich dein Problem wahrscheinlich doch nicht verstanden. Wenn du machst
Code :1
obj1 == obj2
Dann wird geprüft ob es sich um das gleiche Object handelt, also ob beide Referenzen auf das gleiche Object zeigen.
Vielleicht solltest du nochmal genau erklären was du möchtest, vielleicht mit einem kleinen Beispiel. Du solltest auch sagen, was denn nicht funktioniert.
MFG
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
01.08.08 11:44 #3
- Registriert seit
- Jul 2008
- Beiträge
- 71
PHP-Code:public interface Tutorial{
/* Code */
}
PHP-Code:public class TutorialClass implements tutorial{
String string;
public tutorialClass(String string){
this.string =string;
}
}
PHP-Code:public class Package1{
Tutoriall[] tut1 = new Tutorial[10];
public Tutorial getTutorial(param){
i= berechne;
return tut[i];
}
public void Tutorial[] getTutorials(){
return this.tut1;
}
}
Und die If-Abfrage gibt nie true aus!PHP-Code:public class Package2{
Tutorial[] tut2 = new Tutorial[10];
tut1= package2.getTutorials();
Tutoial test = Package1.getTutorial(param);
for(int i=0; i<tut2.length;i++){
if(test == tut2){
/* Code */
}
}
-
01.08.08 11:49 #4
Warscheinlich weil sie niemals true ist!
Wenn du mal deine Beiden Objekte per System.out.println() mal ausgeben lassen würdest, würdest du sehe, dass sie nicht gleich sind, auch wenn es ihr Inhalt ist.
Versuchs doch mal mit .equals(Object) anstat mit ==.
Kleinen Tipp noch: Für Java Code die Java-Tags [*JAVA] benutzen, macht es einfacher zu lesen
"... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)
"Sir?, we're sorrounded!"
"Excellent, we can attack in any direction"
-
01.08.08 11:59 #5
- Registriert seit
- Jul 2008
- Beiträge
- 71
Habe ich ja, aber das Problem ist dann ist es mehrmals True da der String mehrmals den gleichen inhalt hat!
-
01.08.08 12:05 #6
Was willst du eigentlich vergleichen, die Beiden Objekte oder jeweils die Inhalte EINZELN ?
"... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)
"Sir?, we're sorrounded!"
"Excellent, we can attack in any direction"
-
01.08.08 12:09 #7
- Registriert seit
- Jul 2008
- Beiträge
- 71
Die Objekte!
-
Hallo,
nach deinem Beispiel, welches auch ein paar Unstimmigkeiten hat, kann es niemals gleich sein.
In diesem Fall würde true rauskommen.
Code :1 2 3 4 5
Tutorial tut1 = new TutorialClass Tutorial tut2 = tut1; System.out.println(tut1 == tut2);
In deinem Beispiel kann das auch nie true sein, weil du ein Array mit einem einzelnen Tutorial vergleichst.
MFG
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
01.08.08 12:15 #9
Wieso steckst du sie dann in eine Vorschleife?
Ok, damit du mich richtig verstehst:
Objekte vergleichen:
Code java:1
if(tutequals(tut2)){
Inhalte der Arrays:
Code java:1 2 3 4 5 6
for(int iCounter = 0; iCounter < tut.lenght; iCounter++){ if(tut[iCounter].equals(tut2.[iCounter])){ ... } ... }
Edit: Oh, stimmt Sascha, hab ich ganz übersehen..."... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)
"Sir?, we're sorrounded!"
"Excellent, we can attack in any direction"
Ähnliche Themen
-
[]Trigger erstellen, Tabelle bei Gleichheit eines Strings füllen
Von macgyver4711 im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 16.02.09, 18:04 -
Gleichheit von Perl- Objekten
Von stso im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 3Letzter Beitrag: 21.12.07, 13:35 -
Strings auf ungefähre Gleichheit untersuchen
Von Operator_Jon im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 18.03.06, 16:25 -
2 Passwörter auf Gleichheit prüfen
Von Comenius im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 23.01.05, 13:53 -
xsl; überprüfen auf Gleichheit
Von beate82 im Forum XML TechnologienAntworten: 4Letzter Beitrag: 16.12.04, 09:40





Zitieren

Login





