Methoden "Pointer" als Übergabeparameter

at0m

Mitglied
Hallo zusammen,

ich weiß, dass man in Java nicht explizit Pointer setzen kann. Mich würde aber interessieren, wie ich folgendes Problem trotzdem lösen kann.

Nehmen wir an ich habe folgende Methode in einer bestimmten Klasse:
Code:
private void function() {
    int x = 0;
    int y = 0;
    setXandY(x, y);
    system.out.println("x = " + x + ", y = " + y);
}

private void setXandY(int x, int y) {
    x = 5;
    y = 6;
}

In einer Programmiersprache, die Pointer kennt, würde ich der Methode setXandY() als Parameter jeweils einen Pointer auf x und y übergeben. Das system.out.println() würde dann ausgeben:
Code:
x = 5, y = 6

In Java würde aber ausgegeben werden:
Code:
x = 0, y = 0

Wie kann ich den Wert von x und y also in der Methode setXandY() setzen, ohne diese in z.B. ein Array zu packen, der Methode zu übergeben und aus dem zurückgegebenen Array wieder auszulesen?

Freue mich über jeden Tipp! :)
 

VfL_Freak

Top Contributor
Moin,


Nehmen wir an ich habe folgende Methode in einer bestimmten Klasse:
Code:
private void function() {
    int x = 0;
    int y = 0;
    setXandY(x, y);
    system.out.println("x = " + x + ", y = " + y);
}

private void setXandY(int x, int y) {
    x = 5;
    y = 6;
}

In Java würde aber ausgegeben werden:
Code:
x = 0, y = 0

Wie kann ich den Wert von x und y also in der Methode setXandY() setzen, ohne diese in z.B. ein Array zu packen, der Methode zu übergeben und aus dem zurückgegebenen Array wieder auszulesen?
In Deinem Beispiel IMHO gar nicht!

Wie Du schon schriebst, kannst Du es natürlich mit einer eigenen (wie auch immer gearteten) Struktur (Array, eigene Klasse Pair etc.) lösen, die Du dann als Rückgabewert hast.
Oder Du schreibst zwei Funktion "setX" und "setY" ;-)

Eine weitere Möglichkeit wäre noch (wenn alles in der gleichen Klasse stattfindet), x und y als Membervariablen der Klasse anzulegen, oder, falls Zugriff von außen nötig ist, dann mit Getter- und setter-Funktionen zu arbeiten!

Gruß
Klaus
 

Beatsleigher

Bekanntes Mitglied
Java:
    private void aMethod() {
        int x = setX();
        int Y = setY();
        System.out.println ("X: " + x + ", Y: " + y + ".");
    }

    private int setX() {
        return 1024;
    }

    private int setY() {
        return 2048;
    }

Du kannst außerhalb eine Methode nicht ohne Weiteres auf interne Variablen zugreifen.

Sent from my GT-I9505 using Tapatalk
 

ARadauer

Top Contributor
Die Referenz auf Objekte werden Call By Value übergen... aber die Objekte dahinter sind immer noch die gleichen... die kannst du verändern...

Java:
 private void function() {
        ObjectHolder<Integer> x = new ObjectHolder<Integer>(0);
        ObjectHolder<Integer> y = new ObjectHolder<Integer>(0);
        setXandY(x, y);
        System.out.println("x = " + x.getValue() + ", y = " + y.getValue());
    }

    private void setXandY( ObjectHolder<Integer> x,  ObjectHolder<Integer> y) {
        x.setValue(5);
        y.setValue(6);
    }

Java:
public class ObjectHolder <T> {
    public T value = null;
    
    public ObjectHolder() {}
    public ObjectHolder(T initialValue) {
        this.value = initialValue;
    }
    
    public T getValue() {
        return value;
    }
    public void setValue(T value) {
        this.value = value;
    }
    
}
 

at0m

Mitglied
Ich werde mir wohl schnell mal eine Klasse dafür basteln oder es in ein Array packen. Das macht in dem trivialen Fall bei mir am meisten Sinn.

Vielen Dank für die Hilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
Y Pointer / Referenz - Theorie Java Basics - Anfänger-Themen 3
Orkanson Null Pointer Expception Java Basics - Anfänger-Themen 3
J Pointer Java Basics - Anfänger-Themen 11
C Null Pointer Exception Java Basics - Anfänger-Themen 10
G Null Pointer Exception Java Basics - Anfänger-Themen 4
8 Referenz (Pointer, Zeiger) in Java Java Basics - Anfänger-Themen 9
D OOP Warum bekomme ich eine Null-Pointer Exception!!? :( Java Basics - Anfänger-Themen 4
S Abzählen mit Pointer Java Basics - Anfänger-Themen 2
A Null Pointer Exception in Liste Java Basics - Anfänger-Themen 11
L Null Pointer Exception bei setText Java Basics - Anfänger-Themen 9
T Null Pointer Exception Java Basics - Anfänger-Themen 4
G Null Pointer Exeption Java Basics - Anfänger-Themen 8
W Variablen Pointer Grundlagen Java Basics - Anfänger-Themen 30
D Debug Current Instruction Pointer Fehler Java Basics - Anfänger-Themen 8
T Null Pointer Exception Java Basics - Anfänger-Themen 8
H Null Pointer Exception Problem Java Basics - Anfänger-Themen 3
M Sudoku-Löser: Fragen zu Pointer und Rekursion Java Basics - Anfänger-Themen 15
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
D Null-Pointer-Exception Java Basics - Anfänger-Themen 5
E Hash Map - Null Pointer Exception? Java Basics - Anfänger-Themen 3
L Pointer per Funktion übergeben Java Basics - Anfänger-Themen 5
B Call By reference (Null pointer exception) Java Basics - Anfänger-Themen 6
J Null Pointer Exception in der "ob Null"-Abfrage? Java Basics - Anfänger-Themen 37
B Null Pointer Exception Java Basics - Anfänger-Themen 7
A Null Pointer Exception beim Erstellen eines Arrays aus einer eigenen Klasse Java Basics - Anfänger-Themen 3
K Null pointer exception in Methode Java Basics - Anfänger-Themen 4
D Null Pointer Exception Java Basics - Anfänger-Themen 8
D null pointer exception Java Basics - Anfänger-Themen 3
M Null Pointer Exception Java Basics - Anfänger-Themen 18
Z Null Pointer?! WHY? Java Basics - Anfänger-Themen 11
T Null Pointer Exception Java Basics - Anfänger-Themen 2
F Null Pointer Exception #2 Java Basics - Anfänger-Themen 5
I Unerklärliche Null-Pointer-Exception bei JRadioButton Array Java Basics - Anfänger-Themen 2
J Null-Pointer -> Code-Zeile ausgeben möglich? Java Basics - Anfänger-Themen 7
H Null Pointer Exception? Java Basics - Anfänger-Themen 4
E Nativen Code verwenden mit Jna, Pointer problem Java Basics - Anfänger-Themen 7
N null pointer exeption problem Java Basics - Anfänger-Themen 4
G Null Pointer Exception Java Basics - Anfänger-Themen 10
C große Matrizen, Performance, (Pointer?) Java Basics - Anfänger-Themen 6
G function pointer Java Basics - Anfänger-Themen 5
N null pointer exception Java Basics - Anfänger-Themen 6
F ArrayList! Pointer, Referenzen! Java Basics - Anfänger-Themen 4
S Null-Pointer-Exception Java Basics - Anfänger-Themen 5
H Null pointer Exeption Java Basics - Anfänger-Themen 4
R Thread geht jetzt - aber - Fehler "Null-Pointer" Java Basics - Anfänger-Themen 20
B Null Pointer Exception Java Basics - Anfänger-Themen 2
F Referenz Pointer oder doch nochmal neu suchen ? Java Basics - Anfänger-Themen 2
S Pointer? Java Basics - Anfänger-Themen 9
L nur kleines null Pointer Exception problem Java Basics - Anfänger-Themen 9
R Null Pointer Exception von anderer Klasse aus. Java Basics - Anfänger-Themen 2
S Vector wirdn icht gefüllt, null Pointer, was ist der Fehler Java Basics - Anfänger-Themen 6
N NULL Pointer Exception Java Basics - Anfänger-Themen 4
J Java.lang Null Pointer Exception Java Basics - Anfänger-Themen 3
Dilandau null pointer exception - woran liegts? Java Basics - Anfänger-Themen 16
K Zweimal dieselbe Methode als Übergabeparameter nutzen Java Basics - Anfänger-Themen 1
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
C Gui- Klasse erkennt Übergabeparameter aus Methode nicht Java Basics - Anfänger-Themen 4
R Verständnisfrage zu Objekten u. Übergabeparameter Java Basics - Anfänger-Themen 8
S Java String[]args Übergabeparameter Java Basics - Anfänger-Themen 2
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
W Darf man den Übergabeparameter in einer Methode nicht verwenden? Java Basics - Anfänger-Themen 2
J Übergabeparameter einer Methode Java Basics - Anfänger-Themen 2
K Methode als Übergabeparameter Java Basics - Anfänger-Themen 8
P Methoden + Übergabeparameter Java Basics - Anfänger-Themen 7
D Übergabeparameter einer Methode Java Basics - Anfänger-Themen 6
K Mothode + Übergabeparameter ! Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben