Wie kann das den sein? Komische Variablenbelegung!

Status
Nicht offen für weitere Antworten.

xip

Bekanntes Mitglied
Hi Ihr,

habe folgendes in einem Programm gefunden:

int[] rgb = new int[3];
raster.getPixel(x, y, rgb);
if (rgb[0] < S_W_Schwelle) {
segmentline = false;
}

was mich daran interessiert ist das Variablenarraay rgb. Das gerade initialiserte Array wird einer Funktion übergeben.
Und nachdem es übergeben wurde hat es Werte!!! Wie kann das den sein. Hört sich ja fast an wie ein Pointer in C++.

Habt ihr dafür eine Erklärung?
 

faetzminator

Gesperrter Benutzer
Die Referenz jeder nicht-primitiven Variable wird übergeben. Wenn du dort was im Speicher änderst, ist das natürlich auch in der aufrufenden Methode anders.
 

xip

Bekanntes Mitglied
das würde aber heißen.

public class dsdfsfd {

public static void main(String[] args) {
int hallo = 4;
test2 dings = new test2();
dings.ruck(hallo);
System.out.println(hallo); // das der hier 6 ist, ist er aber nicht!!! Ist immernoch 4

}

}

class test2
{
int ruck(int wert)
{
return wert+2;
}
}

wie kann ich das also verstehen?
 

Noctarius

Top Contributor
Ein Array ist eine Referenz auf eine Sammlung von Daten (welche wieder als Referenzen innerhalb des Arrays hinterlegt sind).

Beim Aufruf wird eine neue Referenz erzeugt, welche auf das selbe Objekt zeigt, das übergeben wurde.

Dabei wird aber nur die oberste Instanz als neue Referenz "kopiert". Heißt die Referenz auf die Array-Struktur wird kopiert, nicht aber die inneren Referenzen.
 

faetzminator

Gesperrter Benutzer
nein, da dies ein primitiver Datentyp ist...
aber folgendes fürde funktionieren:
Java:
public static void main(String[] args) {
    int[] hallo = {4};
    test(hallo);
    System.out.println(hallo[0]);
}

private static void test(int[] args) {
    args[0] += 2;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
A Arrays kombinieren (länge eines Arrays kann 0 sein) Java Basics - Anfänger-Themen 6
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
C Objekt soll ein Array sein. Java Basics - Anfänger-Themen 15
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
B 4 Strings, Anfangsbuchstaben muss unterschiedlich sein Java Basics - Anfänger-Themen 12
W Erste Schritte Content Pane scheint zweigeteilt zu sein. Java Basics - Anfänger-Themen 1
J App.jar muss im Projekt App als Bibliothek vorhanden sein?! Java Basics - Anfänger-Themen 1
W Interpreter-Fehler boolean nur eins darf wahr sein Java Basics - Anfänger-Themen 11
G Vererbung Sicherheitslücke? Reflection sieht members, die nicht sichtbar sein sollten?! Java Basics - Anfänger-Themen 11
W drawLine(...) - Linie soll nur begrenzt lang sein Java Basics - Anfänger-Themen 9
N Immer Aktiv sein. Java Basics - Anfänger-Themen 8
E Erste Schritte <? super Unterklasse> Return-Typ darf nicht vom Wildcard-Typ sein Java Basics - Anfänger-Themen 5
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
K Variablenname soll der Inhalt vom String sein Java Basics - Anfänger-Themen 2
H Erste Schritte Ergebniss soll kleiner als 1000 sein Java Basics - Anfänger-Themen 4
T Muss ein Parametertest immer eine eigene Testklasse sein? Java Basics - Anfänger-Themen 3
D jProgressBar soll bei 100% sein wenn sql Abfrage inkl. jTable schreiben fertig ist... Java Basics - Anfänger-Themen 5
B Methoden JFileChooser und sein "Startverzeichnis" Java Basics - Anfänger-Themen 3
M Klassen sollen nicht instanzierbar sein Java Basics - Anfänger-Themen 6
B BinarySearch langsamer als LinearSearch? kann nicht sein Java Basics - Anfänger-Themen 8
K Variablen Variable scheint nicht initialisiert zu sein Java Basics - Anfänger-Themen 10
C JFormattedTextField soll Pflichtfeld sein Java Basics - Anfänger-Themen 19
P Ergebnis sollte double sein ... Java Basics - Anfänger-Themen 5
J Warum muss diese Methode static sein ?! Java Basics - Anfänger-Themen 7
M Datentypen Wie groß kann ein Array max sein? Java Basics - Anfänger-Themen 9
N Threads: 4 Threads, 4mal Zugriff auf Array soll nicht der gleiche Zugriff sein Java Basics - Anfänger-Themen 4
M Wert soll element aus den natürlichen Zahen inkl. 0 sein Java Basics - Anfänger-Themen 6
A [gelöst]Zwei Ausgaben, die eigentlich gleich sein sollten Java Basics - Anfänger-Themen 9
J Wie lang darf ein String sein Java Basics - Anfänger-Themen 5
N Wann muss eine Methode - protected sein wann public wann. Java Basics - Anfänger-Themen 5
G Muss es immer extends sein ? Java Basics - Anfänger-Themen 9
G Müssen ActionListener + sein Button in einer Klasse liegen? Java Basics - Anfänger-Themen 11
G Müssen globale Funktionen immer "static" sein? Java Basics - Anfänger-Themen 13
F Eingabe darf nur 1 oder 0 sein. Meine Lösung macht Probleme. Java Basics - Anfänger-Themen 8
D Objektorientierung - wie konsequent sollte man sein ? Java Basics - Anfänger-Themen 30
C NullPointerException, aber nichts darf null sein? Java Basics - Anfänger-Themen 7
G wieso muss Textfield final sein? Java Basics - Anfänger-Themen 6
J Problem mit static.Was soll das sein ? Java Basics - Anfänger-Themen 2
B Compiler Fehler "{" expected, kann doch nich sein? Java Basics - Anfänger-Themen 9
G Warum muss das Textfeld final sein? Java Basics - Anfänger-Themen 2
J ObjectOutputStream writeChars, komische Zeichen nur in 1. Zeile Java Basics - Anfänger-Themen 2
R Komische Zeichen in Java Java Basics - Anfänger-Themen 5
B komische NoSuchElementException Java Basics - Anfänger-Themen 18
L Compiler-Fehler Komische Ausgabe meines Programms Java Basics - Anfänger-Themen 6
D Methoden ArrayList Rückgabe bringt komische Werte Java Basics - Anfänger-Themen 12
P Erste Schritte Console - Sehr komische Ausgabe! Java Basics - Anfänger-Themen 3
S Komische ANT Warnungen Java Basics - Anfänger-Themen 4
B Komische Strings Java Basics - Anfänger-Themen 2
B komische NullPointerException Java Basics - Anfänger-Themen 5
T JDom komische Ausgabe Java Basics - Anfänger-Themen 4
E komische endlosschleife Java Basics - Anfänger-Themen 6
M txt-Datei schreiben: Es erscheinen komische Kästchen Java Basics - Anfänger-Themen 4
R BufferedWriter macht komische Zeichen Java Basics - Anfänger-Themen 3
S Komische Feldermeldung bei Forschleife Java Basics - Anfänger-Themen 3
C ok... der spuckt irgendwie nur komische zeichen aus.... Java Basics - Anfänger-Themen 2
G komische Ausgabe mit @.@. Java Basics - Anfänger-Themen 4
B Komische Array Ausgabe Java Basics - Anfänger-Themen 6
G ArrayList mit ArrayList als Inhalt - komische Sortierung? Java Basics - Anfänger-Themen 12
G CSV Datei einlesen & komische Zeichen Java Basics - Anfänger-Themen 5
G komische sache Java Basics - Anfänger-Themen 4
C Komische Zeichen beim Lesen aus einer .reg-Datei Java Basics - Anfänger-Themen 2
M Komische Syntax bei Double-Buffering-Beispiel Java Basics - Anfänger-Themen 2
B komische NumberFormatException beim DezimalToBinär-Rechner Java Basics - Anfänger-Themen 4
E Komische Syntax Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben