Java Datentyp long, warum muss ein "L" hinter die Zahl?
Ich verstehe nicht ganz, warum ich beim Deklarieren/Initialisieren einer Variable vom Datentyp "long", ein "L" hinter die Zahl packen muss.
Es sollte doch schon vollkommen ausreichen, wenn ich die Variable so Deklariere:
long zahl = 10000000000000;
jedoch geht dann Java immer noch von einem Integer aus.
Ich würde nur gerne verstehen, warum es so umständlich gemacht wurde und warum Java nicht automatisch versteht, dass es sich um eine Variable vom Datentyp long handelt, wenn ich es ja am anfang mit "long ...." extra sage.
1 Antwort
Du hast mit long nur gesagt, dass die variable "zahl" ein long sein soll.
Du weist jetzt aber einen Wert zu und der wäre dann ein int, damit würde Java eine Implizierte Konvertierung durchführen.
Das Problem ist nie, dass zahl ein long ist, sondern, dass eine zahl rechts einfach zu groß ist, um ein int zu sein und das musst du explizit angeben für die Typensicherheit.