Methoden Methode auf Array aufrufen, und dieses Array dabei ändern?

Willibergi

Mitglied
Moin,
ich habe folgenden Code:
Java:
public int[] foo(){
       
}
Die Methode möchte ich auf ein Array anwenden, und dabei z. B. den Eintrag mit dem Index 0 auf 12 setzen.
In JavaScript würde ich
Code:
this[0] = 42;
schreiben, in Java bezieht sich das this aber offensichtlich auf meine Klasse.
Wie kriege ich das nun hin, dass in der Methode, das Array verändert wird, bei dem die Methode aufgerufen wird?
LG Willibergi
PS: Ich weiß, dass ich auch eine void-Methode mit Übergabe einer Referenz zum Array hätte erstellen können. Ich möchte aber etwas wie array.foo() erstellen. ;)
 

Joose

Top Contributor
Das ist in Java nicht möglich. Du kannst einem Array nicht eine neue Methode "hinzufügen".

Eine Möglichkeit wäre vielleicht eine statische Methode, welcher du das Array übergibst und welche die gewünschten Änderungen vornimmt.
 

Jardcore

Top Contributor
Ich weiß nicht ob ich dich ganz verstanden hab. Also für mich klang das so als würdest du gerne an den stellen 0 und 12 in einem Array einen Wert setzen. Und dafür willst du eine Methode haben.
Die Sinnhaftigkeit ist natürlich fragwürdig, aber das würde wie folgt gehen:
Java:
public void foo(int[] arr, int value, int indices...) {
    for(int index : indices) {
        arr[index] = value;
    }
}
Aufruf:
Java:
foo(new int[20], 42, 0, 12);

Zur erklärung, du hast eine variable liste von indices (...) und die durchläufst du. In dieser befinden sich aktuell zwei Werte (0,12) an den Stellen wird dann im Array der übergebene Wert 42 gesetzt. Statt new int[20] kannst du natürlich auch einfach ein anderes Array übergeben, das du vorher deklariert hast.

Vielleicht erklärst du was du eigentlich genau machen willst, ohne Code zu benutzen
 

Willibergi

Mitglied
Der von mir gepostete Quellcode ist natürlich nicht das, was ich machen möchte - er sollte nur zur Darstellung dienen.

Ich wollte nur, wie Joose schon erkannt hat, einem Array eine Methode hinzufügen, auf die ich dann mit

Java:
arr.foo();

zugreifen kann.

Aber wenn ich das richtig verstanden habe, ist das ohnehin nicht möglich, und ich muss auf eine Void-Methode zurückgreifen und ihr die Referenz übergeben.
 

dzim

Top Contributor
Ah, das sieht noch nett aus. Aber ich denke, sollte man in Java irgendwann mal den Schritt endlich wagen, primitive Datentypen abzuschaffen und rein Objektorientiert zu werden, kann man auch ohne Lombock einfach die jeweilige Klasse erweitern.
Auch wenn ich den Code recht nett finde!

#edit: Der Code-Schnipsel erweitert aber auch "nur" Arrays und nicht den quasi primitiven Datentyp einer array-Referenz (ich weiss gerade nicht, wie ich sprachlich die Klasse Arrays von dem array mit [] distanzieren soll :confused:)

Und noch etwas: Solche Erweiterungen kann man IMHO auch mit noch einem anderen Mittel erreichen: Runtime Bytecode Generation / Manipulation á la Byte Buddy
 

mrBrown

Super-Moderator
Mitarbeiter
#edit: Der Code-Schnipsel erweitert aber auch "nur" Arrays und nicht den quasi primitiven Datentyp einer array-Referenz (ich weiss gerade nicht, wie ich sprachlich die Klasse Arrays von dem array mit [] distanzieren soll :confused:)

Es wird doch int[] erweitert um die Methoden aus Arrays, die int[] nehmen. In dem Beispiel wird #sort auf dem int[] aufgerufen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
C Array - Methode in einer anderen Aufrufen Java Basics - Anfänger-Themen 1
B Methoden Array Methode aufrufen Java Basics - Anfänger-Themen 4
U Objekte in Array erstellen und Methode in verschiedenen klassen aufrufen Java Basics - Anfänger-Themen 5
B Methode aufrufen 2Dim Array Java Basics - Anfänger-Themen 3
F Array deklarieren und über Methode aufrufen Java Basics - Anfänger-Themen 13
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
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
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
A Ein Array bearbeiten und in einer anderen Methode nutzen Java Basics - Anfänger-Themen 6
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
M Methode - Array mit Booleans füttern Java Basics - Anfänger-Themen 7
I Array einer Methode wiedergeben Java Basics - Anfänger-Themen 2
S Erklärung zur Methode und array Java Basics - Anfänger-Themen 12
L Methode Point[], Array widergeben Java Basics - Anfänger-Themen 5
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
T Methode um Array mit for-each-Schleife auszulesen Java Basics - Anfänger-Themen 7
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
Eule25 Methode mit Array Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
parrot Array: Methode fügeHinzu Java Basics - Anfänger-Themen 13
J Methoden set Methode array Java Basics - Anfänger-Themen 2
B Array als Rückgabewert in der Methode Java Basics - Anfänger-Themen 1
B Ein Array an die Methode zurückgeben Java Basics - Anfänger-Themen 8
M BlueJ - Array als Paramter einer Methode eingeben Java Basics - Anfänger-Themen 12
W In Methode boolean array zurückgeben Java Basics - Anfänger-Themen 3
M Methode mit Array als Parameter an Main übergeben Java Basics - Anfänger-Themen 1
D Compiler-Fehler Array an Methode übergeben und Wert zurückbekommen Java Basics - Anfänger-Themen 3
C In einer Methode einen Array zurückgeben Java Basics - Anfänger-Themen 2
M Methode überladen - Array List Java Basics - Anfänger-Themen 5
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
Bluebird209 Array wird nicht an Methode übergeben Java Basics - Anfänger-Themen 7
N Methode mit While-Schleife und If-Bedingung und Array-Initialisierung Java Basics - Anfänger-Themen 4
E Methoden 2D Array wird in der Methode nicht geändert/gespeichert Java Basics - Anfänger-Themen 5
S Array Methode Java Basics - Anfänger-Themen 8
J Array - getVorherigerMonat()-Methode Java Basics - Anfänger-Themen 31
L Methoden Set Methode mit Array befüllen Java Basics - Anfänger-Themen 4
D Erste Schritte Array Werte an Methode übergeben Java Basics - Anfänger-Themen 6
O array mit Methode variabel befüllen Java Basics - Anfänger-Themen 5
kilopack15 Methode soll int-Array zurückgeben Java Basics - Anfänger-Themen 2
A Methoden Array mit Methode nacheinander füllen Java Basics - Anfänger-Themen 3
J Array ausserhalb der Methode initialisieren Java Basics - Anfänger-Themen 4
J Methode in Array Java Basics - Anfänger-Themen 4
B Wie speicher ich die Outputs einer Methode in ein Array ein? Java Basics - Anfänger-Themen 1
Tommy Nightmare void Methode gibt Array zurück Java Basics - Anfänger-Themen 3
W Methoden In Methode Array zurückgeben? Java Basics - Anfänger-Themen 2
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
Silvascus Array, der mit dem Namen, der per Methode übergeben wird, erstellt wird Java Basics - Anfänger-Themen 5
V Methode erstellen für ein Boolean Array Java Basics - Anfänger-Themen 13
L Methode schreiben die den maximalen Wert im Array ermittelt Java Basics - Anfänger-Themen 27
B OOP Methode mit Array mit return verlassen Java Basics - Anfänger-Themen 8
S Array und Getter-Methode Java Basics - Anfänger-Themen 2
J Warum wird Array durch Methode ohne Rückgabewert verändert? Java Basics - Anfänger-Themen 5
K Methode aus Array abrufen Java Basics - Anfänger-Themen 7
J 2 dimensionales Array an andere Methode übergeben? Java Basics - Anfänger-Themen 1
J Array mit neuer Methode übergeben Java Basics - Anfänger-Themen 5
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
L Methoden Array an Methode übergeben Java Basics - Anfänger-Themen 1
F Teil eines Byte Array an eine Methode übergeben Java Basics - Anfänger-Themen 5
C Array aus einer Methode zurückgeben und ausgeben Java Basics - Anfänger-Themen 1
P Auf Object in Array Methode anwanden Java Basics - Anfänger-Themen 2
H Array Test Methode schreiben Java Basics - Anfänger-Themen 3
S Fehler bei Arrays.sort(array) - Methode!? Java Basics - Anfänger-Themen 3
G array return methode Java Basics - Anfänger-Themen 10
A Methode mit Array als Param --> return Array --> Fehler Java Basics - Anfänger-Themen 3
T Methoden methode gibt array bound exeption Java Basics - Anfänger-Themen 8
D set methode bei Array Java Basics - Anfänger-Themen 11
C Array an Methode Java Basics - Anfänger-Themen 5
D Array void Methode erstellen. Java Basics - Anfänger-Themen 12
F Setter-Methode bei double-Array Java Basics - Anfänger-Themen 6
B Array in Methode erzeugen und übergeben Java Basics - Anfänger-Themen 4
F Klassen DataBuffer - Methode um Array in eine Bank zu schreiben Java Basics - Anfänger-Themen 3
N Methode die String in char-Array wandelt!! Java Basics - Anfänger-Themen 11
L Methoden Auf statische Methode einer anderen Klasse zugreifen, die Array zurückgibt Java Basics - Anfänger-Themen 3
E Generischer Methode ein Array übergeben Java Basics - Anfänger-Themen 3
B Methoden File Array an methode übergeben. Java Basics - Anfänger-Themen 2
D Array aus Methode übernehmen Java Basics - Anfänger-Themen 4
S Datentypen Array fill Methode - unterschiedliche Datentypen Java Basics - Anfänger-Themen 6
M Array in Methode erweitern und zurückgeben Java Basics - Anfänger-Themen 7
X Array von Methode in Main übergeben? Java Basics - Anfänger-Themen 11
S Methode mit zweidimensionalem Array als Parameter: '.class' expected Java Basics - Anfänger-Themen 2
C Differenz-Methode mit Array lösen Java Basics - Anfänger-Themen 14
L Array erweitern per Methode Java Basics - Anfänger-Themen 5
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
J double-Array mit Werten von Methode füllen und an andere Methode übergeben Java Basics - Anfänger-Themen 3
E Array mittels Methode umgekehrt ausgeben Java Basics - Anfänger-Themen 6
T Array als Rückgabewert einer Methode Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben