Array wird ohne grund sortiert?!

A

Agassiz

Neues Mitglied
7
Hi,

habe hier ne ganz komische Sache am laufen.
Und zwar habe ich ein Array.
Dieses ist nicht sortiert.
Dann wird folgende Methode aufgerufen (liegt in einer anderen Klasse):
Code:
public int[] distribution(float[] array, int counter) {

        float[] binned = array;

        [....]

        Arrays.sort(binned); 

        [....]
Jedoch wird das array was übergeben wurde ebenfalls soriert. Warum?

Ich habe mir das übergebene Array Vor und Nach dem Methodenaufruf ausgeben lassen.

Davor : Unsortiert.
Danach : Sortiert.


Ich rühre das übergebene Array gar nicht an. Es wird ein neues Array erstellt und das übergebene wird kopiert.
Aber warum habe ich diese komische/ungewollte ausgabe?
 
Zuletzt bearbeitet:
Die Fehlannahme ist, dass das übergebene Array kopiert würde. Das ist nicht der Fall. Arrays sind Objekte in Java. Es wird also wie bei allen Objekten lediglich binned so gesetzt, dass das selbe Objekt referenziert wird wie in array.

Java ist auch eine Insel – 3.7 Mit Referenzen arbeiten
 
Achso, also wird quasi binned auf die gleiche adresse wie array gelegt!? ;)


Danke dir :D
 
binned ist eine Referenz auf dem Array . Mit der Zuweisung von der Parameter verweist sie auf
dem ünberhebenen Array - und deser wirrd nun sortiert.
 
Hast du um knapp 21 Uhr schon den Arsch voll? :D
 
the_alien schrieb:
Hast du um knapp 21 Uhr schon den Arsch voll? :D
ne, ich lerne 10-Finger-Blind-Tippen :)

Habe mir dasKeyboard Ultimate zugelegt
 
Man nennt das "blind Tippen" weil man nicht auf die Tastatur guckt, nicht weil man die Augen zu hat und überhaupt nicht liest ;)
 
Ich versuche es auf näschsten Level zu bringen ;)
( wer die Rechschreibfehler findet, darf diese behalten ;) )
 

Ähnliche Themen

R
Antworten
6
Aufrufe
1.014
swa00
swa00
M
  • MikelKatzengreis
Antworten
10
Aufrufe
225
swa00
swa00
T
  • Gesperrt
  • trini
Antworten
5
Aufrufe
818
swa00
swa00
Zurück
Oben Unten