myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Ungelesen 01.04.11, 16:38   #1
7331
Erfahrener Newbie
 
Registriert seit: Apr 2010
Beiträge: 144
Bedankt: 140
7331 ist noch neu hier! | 0 Respekt Punkte
Standard [Java] Generisches Array wie erstellen?

Ich habe eine Methodensignatur fest vorgegeben, der letze Teil ist:

....(T[] array) {

Nur wie erstelle ich sp ein T[] array, das ich überegeben kann?
Z.b. mit Integern gefüllt, aber T[] test = {new Integer(1), new Integer(2)} klappt ja nicht...
Ich habe schon alles durchprobiert und überall gesucht, aber nichts funktioniert.
7331 ist offline   Mit Zitat antworten
Ungelesen 01.04.11, 18:16   #2
fumding
Anfänger
 
Registriert seit: Dec 2010
Beiträge: 25
Bedankt: 83
fumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punkte
Standard

Vll versuchst es mal mit z.B. :

Object[] testArray = new Object[<anzahl deiner Objekte>];
testArray[0] = "Bla text";
testArray[1] = new Integer(-10);
__________________

Zitat:
Bedanken tut niemandem weh.
fumding ist offline   Mit Zitat antworten
Ungelesen 01.04.11, 18:16   #3
fumding
Anfänger
 
Registriert seit: Dec 2010
Beiträge: 25
Bedankt: 83
fumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punkte
Standard

// Edit: Sry das Forum spackte mal wieder =)
__________________

Zitat:
Bedanken tut niemandem weh.
fumding ist offline   Mit Zitat antworten
Ungelesen 01.04.11, 19:19   #4
7331
Erfahrener Newbie
 
Registriert seit: Apr 2010
Beiträge: 144
Bedankt: 140
7331 ist noch neu hier! | 0 Respekt Punkte
Standard

Danke, aber geht leider nicht...
Es heißt, das der Typ T[] sein muss und nicht Object[].

Das Array muesste von dieser Methode angenommen werden.

Minimalbespiel:

public static boolean myMethod(T[] array) {
//code
}
7331 ist offline   Mit Zitat antworten
Ungelesen 01.04.11, 20:00   #5
Belenus666
Newbie
 
Registriert seit: Dec 2008
Beiträge: 45
Bedankt: 19
Belenus666 ist noch neu hier! | 0 Respekt Punkte
Standard

Soweit ich weiß ist es nicht möglich ein generisches Array in Java zu erstellen.

Was möglich wäre wäre z.b. ein Vector oder eine List die du dann typisierst.

Das wäre das einzige was mir so spontan einfällt.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Belenus666 ist offline   Mit Zitat antworten
Ungelesen 01.04.11, 20:14   #6
fumding
Anfänger
 
Registriert seit: Dec 2010
Beiträge: 25
Bedankt: 83
fumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punktefumding erschlägt nachts Börsenmakler | 5559 Respekt Punkte
Standard

Willst du einen genauen Typ haben (Wenn ja welchen?) oder soll die Methode mit jedem Typ (außgenommen Grundtypen) umgehen können?
__________________

Zitat:
Bedanken tut niemandem weh.
fumding ist offline   Mit Zitat antworten
Ungelesen 01.04.11, 20:22   #7
Belenus666
Newbie
 
Registriert seit: Dec 2008
Beiträge: 45
Bedankt: 19
Belenus666 ist noch neu hier! | 0 Respekt Punkte
Standard

@ fumding Hab gerade mal in meinen Büchern nachgeschaut dein Ansatz war volkommen richtig:

Generische Klassen
Die Idee für generische Typen ist, eine Klasse zu schreiben, die für verschiedene Typen als Inhalt zu benutzen ist. Das geht bisher in Java, allerdings mit einem kleinen Nachteil. Versuchen wir einmal, in traditionellem Java eine Klasse zu schreiben, in der wir beliebige Objekte speichern können. Um beliebige Objekte speichern zu können, brauchen wir ein Feld, in dem Objekte jeden Typs gespeichert werden können. Dieses Feld muß daher den Typ Object erhalten

/Edit:

Ich verlink noch mal auf die Quelle zum selber nachlesen:

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Belenus666 ist offline   Mit Zitat antworten
Ungelesen 01.04.11, 21:39   #8
7331
Erfahrener Newbie
 
Registriert seit: Apr 2010
Beiträge: 144
Bedankt: 140
7331 ist noch neu hier! | 0 Respekt Punkte
Standard

Die Aufgabenstellung ist nur:

Methodensignatur, darf nicht verändert werden:
Code:
public static <T extends Comparable<T>> List<T>sortMe(T[] array)
Damit ist sichergestellt, dass die Elemente des Arrays das Interface Comparable<T> implementieren. Die Elemente
des uebergebenen Arrays sollen sortiert in einer selbst geschriebenen Liste zurueckgegeben werden.

Das Sortieren und die Liste habe ich schon.

Alle möglichen Typen, die Comparable sind, sollten für T möglich sein.
Werde mir dann mal den verlinkten Blog durchlesen.
7331 ist offline   Mit Zitat antworten
Ungelesen 03.04.11, 13:11   #9
7331
Erfahrener Newbie
 
Registriert seit: Apr 2010
Beiträge: 144
Bedankt: 140
7331 ist noch neu hier! | 0 Respekt Punkte
Standard

Danke, genau das ist es

Das geht super:
// Eingebaute Klassen welche bereits Comparable implementieren
Integer[] numbers = new Integer[10];
numbers[0] = new Integer(5);
...
List<Integer> sortedNumbers = Foo.sortMe(numbers);

Ich hatte es immer so probiert:
int[] test = new int[5];
test[0] = new Integer(1);

Aber mit dem Wrapper gleich beim Typ des Arrays geht es

Gibt es Debugger für java Bytecode, in etwa so wie OllyDBG für exe / dll?
7331 ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.


Sitemap

().