array vergleichen geht nicht?

Status
Nicht offen für weitere Antworten.

SebiB90

Top Contributor
ich hab ein problem beim vergleichen von arrays. irgendwie kann ich mit equals nicht den inhalt von 2 array vergleichen.
Code:
boolean[][] b = new boolean[][] {
        {
        false, true, false}, {
        true, true, true}, {
        false, true, false}
    };
    System.out.println(b==b);
    System.out.println(b == b.clone());
    System.out.println(b.equals(b));
    System.out.println(b.equals(b.clone()));
bei diesem code bekomm ich diese ausgabe:
Code:
true
false
true
false
beim 1. true ist klar
beim 2. false ist klar, ist nicht mehr das gleiche object
beim 3. true auch klar, muss ja der gleiche inhalt sein
aber bei 4. false??? der inhalt ist doch gleich, weil ich ja das andere object klone. wieso kommt da kein true?
 
B

Beni

Gast
Weil "equals" nicht den Inhalt überprüft... Ich vermute mal, da wird auch nur "==" verwendet (die Standardimplementation von equals).
 
R

Roar

Gast
SebiB90 hat gesagt.:
was überprüft den equals sonst
ich dachte immer der überprüft den inhalt ???:L
ja, aber hellsehen kann es trotzdem nicht ;) es überprüft auch nur die inhalte wenn der programmierer das so programmiert hat. benutze Arrays.equals()
 
R

Roar

Gast
SebiB90 hat gesagt.:
blöde programmierer^^
na toll, die Listen benutzen aber alle equals bei contains(), shit...
wieso shit :? woher sollen die listen sonst wissen ob zwei objekte das gleiche darstellen :?

edit: oder hast du arrays in deiner liste :shock: :)
 

SebiB90

Top Contributor
ja hab ich.
ich hab wie oben 3x3 matrizen und diese speicher ich in einer liste und will somit heraus finden welche ich schon hatte.
 
R

Roar

Gast
SebiB90 hat gesagt.:
ja hab ich.
ich hab wie oben 3x3 matrizen und diese speicher ich in einer liste und will somit heraus finden welche ich schon hatte.
dann speicher die arrays in irgendeinem objekt und pack die in die liste :)
 

SebiB90

Top Contributor
jo das hilft :D
aber hab noch ein problem bezüglich der referenzen auf die arrays
Code:
boolean[][] b = new boolean[][] {
        {
        true, true, false}, {
        true, true, true}, {
        false, true, false}
    };
    BlackAndWhite.print(b);
    boolean[][] c = b.clone();
    c[0][0] = false;
    System.out.println();
    BlackAndWhite.print(b);
hier bei kommt das raus:
Code:
truetruefalse
truetruetrue
falsetruefalse

falsetruefalse
truetruetrue
falsetruefalse
wieso ändert sich das array b obwohl ich nur den klon also c änder?
ich weiß, total dämliche fragen :oops: .
 
B

Beni

Gast
Ein "boolean[][]" ist ein Array von Arrays. 2-dimensionale Arrays gibt es nicht in Java.

Wenn du clone aufrufst, geschieht sinngemäss sowas:
Code:
clone( boolean[][] x ){
  boolean[][] result = new boolean[x.length][];
  for( int i = 0; i < x.length; i++ )
     result[i] = x[i];

  return result;
}

:arrow: Die inneren Arrays werden nicht kopiert, es sind nachwievor dieselben wie im ersten boolean[][].
 
B

bygones

Gast
SebiB90 hat gesagt.:
was überprüft den equals sonst
ich dachte immer der überprüft den inhalt ???:L
wie schon gesagt - equals ist eine Methode und testet nur dass was der Programmierer angibt. Bei Strings z.b. wird in der equals erst per == und dann der Inhalt verglichen
 

SebiB90

Top Contributor
deathbyaclown hat gesagt.:
SebiB90 hat gesagt.:
was überprüft den equals sonst
ich dachte immer der überprüft den inhalt ???:L
wie schon gesagt - equals ist eine Methode und testet nur dass was der Programmierer angibt. Bei Strings z.b. wird in der equals erst per == und dann der Inhalt verglichen
ja aber ich dachte die programmierer von java haben bei equals immer angegeben das der inhalt überprüft werden soll. naja hab jetzt das array in eine klasse gepackt und die equals methode überschrieben. jetzt geht es.

und das mit den 2d arrays clonen funzt jetzt danke :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Array.list vergleichen Java Basics - Anfänger-Themen 1
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
S Array, Geburtsdatum, Vergleichen Java Basics - Anfänger-Themen 28
K Comparable - Objekte aus Array vergleichen und größtes auswählen Java Basics - Anfänger-Themen 1
M 2 Stellen in einem Array vergleichen und bei übereinstimmen eine davon ersetzen Java Basics - Anfänger-Themen 1
P Erste Schritte Mehrdimensoniales Array vergleichen Java Basics - Anfänger-Themen 2
M Array: Zeilen vergleichen Java Basics - Anfänger-Themen 4
K Input/Output 6000 Zeilen einlesen und String-Array vergleichen? Java Basics - Anfänger-Themen 1
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
L Datentypen Array Inhalte vergleichen Java Basics - Anfänger-Themen 6
T Methoden in einer array werte vergleichen Java Basics - Anfänger-Themen 6
T Strings mit compareto vergleichen und array sortieren Java Basics - Anfänger-Themen 14
P Label Array in mouseEntered vergleichen Java Basics - Anfänger-Themen 4
P Variablen Wert vergleichen mit einem Array? Java Basics - Anfänger-Themen 13
R Teile aus einem mehrdimensionalen Array vergleichen Java Basics - Anfänger-Themen 3
TheKing Spieler Position mit Array vergleichen Java Basics - Anfänger-Themen 2
I Erstellte Objekte in Array's miteinander vergleichen Java Basics - Anfänger-Themen 11
M Nachkommastellen vergleichen + Array Hilfe Java Basics - Anfänger-Themen 6
M zwei array inhalte vergleichen Java Basics - Anfänger-Themen 3
Z Array mit String vergleichen Java Basics - Anfänger-Themen 22
S ArrayList mit Array vergleichen Java Basics - Anfänger-Themen 2
G array vom typ object inhalt vergleichen Java Basics - Anfänger-Themen 3
T Länge von Strings im Array vergleichen Java Basics - Anfänger-Themen 2
C Array mit Nicharray vergleichen? Java Basics - Anfänger-Themen 7
C array vergleichen? Java Basics - Anfänger-Themen 2
S Variable mit Array vergleichen Java Basics - Anfänger-Themen 3
G Array-Listen vergleichen und Einträge löschen ? Java Basics - Anfänger-Themen 4
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben