FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Praktische Informatik

<> bei Java

<> bei Java 2005-11-21 13:20
Anonymer User
Hab nichts darüber gefunden,
was soll das den sein???
Oder besser gefragt wozu dienen <>????

Re: <> bei Java 2005-11-21 13:25
Anonymer User
wozu dienen <>????
Meinst Du z.B. sowas:Collection<String> c;Das sind Generics. Damit deklarierst Du z.B., dass c eine Collection ist, in die nur Strings dürfen.

Mit den Stichwörtern "Generics Java" sollte Google Dir viele Informationen und Tutorials ausspucken.

LEIFer

Re: <> bei Java 2005-11-21 14:51
pixartist
ganz einfache benutzung:
boolsche vergleichsoperatoren:
x>y -> x grösser y
x<y -> x kleiner y


Re: <> bei Java 2005-11-21 14:54
Wolf
boolsche vergleichsoperatoren
Nee, da sind sicher Generics gemeint ;)

Re: <> bei Java 2005-11-21 15:14
master2000
pixartist, schau dir mal die neuen SE1-übungen an, da kommt sowas wie
<String> vor, es ist also stark davon auszugehen, dass sowas mit der frage gemeint war^^

Re: <> bei Java 2005-11-21 15:48
Anonymer User
Ok, hatte mich nichtklar genug ausgedrückt!

Also ich meinte die Generics, denn es geht um die SE Übungen, will mich schon auf morgen vorbereiten!
Vielen Dank für die Antworten, habs aber immer noch nicht ganz gecheckt!
Also so wie ich das verstanden habe spare ich mir die Deklaration mit private string ……
wenn das mehrere sind und brauche sie dann nur in den <> am Kopf der Methode schreiben oder??


Re: <> bei Java 2005-11-21 16:23
Lazy
Nein,
wenn du normalerweise eine Collection hast, dann kannst du da Objekte jeden Typs hineinpacken. Wenn du aber eine Collection<String> hast, dann kannst du da nur Strings reinpacken.

Re: <> bei Java 2005-11-21 21:14
master2000
ist eigentlich zur vorbereitung egal, steht extra in der aufgabe dass man das nicht verstehen muss:)

Re: <> bei Java 2005-12-05 15:49
cheek
als Erklärung:
// Hier können NUR Strings eingefügt werden List lstStrings = new ArrayList<String>(); // Hier kann ALLES hinzugefügt werden List lstObjects = new ArrayList(); lstStrings.put("Hallo"); // <-- geht lstStrings.put(new Double(2.6)); // <-- geht NICHT lstObjects.put("Welt"); // <-- geht lstObjects.put(new Double(2.6)); // <-- geht String myString = lstStrings.get(0); // geht myString = lstObjects.get(0); // geht NICHT, gibt ne ClassCastException myString = lstObjects (String)lstObjects.get(0); // geht /* dabei wird aus dem Object in der ArrayList lstObjects ein String Object "gemacht" Dieses "machen" nennt man Casten, das ist am Anfang ein wenig schwer zu verstehen da Vererbung erst in SE2 glaube dran kommt. --> einfach mal nach "java cast" googlen */
der Vorteil is schlicht besser lesbarer code und man spart sich die ganze "casterei" um aus den Objects wieder den eigentlichen Datentyp zu bekommen.
das ganze geht erst seit java 1.5 und läuft unter dem Topic "Generics"

PS: und der compiler meckert wenn man was anderes als Strings zu der liste hinzufügen will :) ist also auch ganz praktisch

Re: <> bei Java 2005-12-06 10:16
Anonymer User
[nitpick]
Die Methode an java.util.List heißt nicht put() sondern add()

String myString = lstObjects.get(0); gibt keine ClassCastException sondern schon beim Compilieren einen Type mismatch.


Die Zeile myString = lstObjects (String) lstObjects.get(0); // geht ist falsch. Das erste "lstObjects" muss weg.


Casten als "umwandeln" zu bezeichnen, finde ich doch etwas zu unglücklich. Noch immer nicht ganz korrekt aber bereits besser: Beim Casten wird das Objekt als ein String interpretiert. Falls zur Laufzeit das Objekt aber doch kein String ist, wird eine ClassCastException geworfen.
[/nitpick]

LEIFer

Hmmm. Es scheint hier noch immer Probleme mit der Code-Umgebung zu geben. Eigentlich sollte zwischen "mismatch." und "Die Zeile" ein Absatz sein, der aber in der Vorschau nicht erscheint.