Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

09.07.2013, 18:41

Ich glaube, Sacaldur, du solltest dich bei Java mal mit Boxing beschäftigen. Man kann also schon int, String und MyVeryOwnClass übergeben -> Object.
Spannend wird es erst bei Generics in Kombination mit den integralen Typen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

12

09.07.2013, 18:45

Hallo liebe Community,

Eine signifikante Frage!

Warum leiten sowohl integrale Datentypen als auch Verweistypen von Object?+

Ich habe gelesen, damit wirklich alles als Objekt zu betrachten ist. Aber ich verstehe nicht so den Nutzen dahinter, wäre euch sehr dankbar über professionelle und vernünftige Antworten.


Und BlueCobold reiß dich bitte am Riemann *hust, *hust

LG

DeStruktor



Das stimmt so leider nicht ganz. Die primitven Datentypen gibt es auch als Referenztypen, so genannte "Boxed Types". Das macht der compiler implizit, damit einfach alles Object "sein kann". Aber nicht jeder Wert ist ein Object ;). Das ist auch schon ein ziemlich fortgeschrittenes Thema und muss dich eigentlich kaum kümmern ;). Das ist nur an manchen Stellen wichtig ;).

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

13

09.07.2013, 19:40

Ich glaube, Sacaldur, du solltest dich bei Java mal mit Boxing beschäftigen. Man kann also schon int, String und MyVeryOwnClass übergeben -> Object.
Spannend wird es erst bei Generics in Kombination mit den integralen Typen.

Allerdings gibt es einen Unterschied zwischen int und Integer. Man kann also kein int, sonden nur einn Integer mit anderen Objekten in die gleiche Liste packen und eine List<int> geht immer noch nicht. Die entsprechenden Klassen besitzen zwar diverse Methoden, diese lassen sich aber nicht auf Variablen oder Werte der primitiven Datentypen anwenden.
In C# (vermutlich eher jede .NET-Sprache), ist int nur ein alias für Int32. (Dadurch kann man eine List<int> einer List<Int32> zuweisen und umgekehrt.)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

14

09.07.2013, 20:19

Allerdings gibt es einen Unterschied zwischen int und Integer. Man kann also kein int, sonden nur einn Integer mit anderen Objekten in die gleiche Liste packen und eine List<int> geht immer noch nicht.
Deswegen sagte ich ja, dass es bei Generics spannend wird. Außerhalb davon sind Integer und int ziemlich oft problemlos zu verwenden, ohne allzu große explizite Konvertierungen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

idontknow

unregistriert

15

09.07.2013, 20:39

Warum wirds bei Generics spannend? Java unterstützt Auto-Boxing -> alles gut.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

16

09.07.2013, 21:26

Eben weil List<int> nicht geht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

idontknow

unregistriert

17

09.07.2013, 21:30

Dank Auto-Boxing sollte das doch gehen dachte ich. Hab schon länger kein Java mehr programmiert aber hatte es so in Errinerung.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

18

09.07.2013, 21:34

List<int> geht nicht. Punkt. Das ist auch schon alles spannende, was es zu sagen gibt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

idontknow

unregistriert

19

10.07.2013, 00:15

Tatsächlich, ich hatte es irgendwie total in Errinerung, dass das automatisch erkannt wird und entsprechend die Boxing-Typen eingesetzt werden. Irgendwie komisch warum das nicht so ist an der Stelle.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

20

10.07.2013, 00:24

Tatsächlich, ich hatte es irgendwie total in Errinerung, dass das automatisch erkannt wird und entsprechend die Boxing-Typen eingesetzt werden. Irgendwie komisch warum das nicht so ist an der Stelle.

Groovy macht das möglich. ;) Dort wird alles umgeboxt.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Werbeanzeige