# wozu ist das 'L' beim long notwendig ?



## volker_2 (9. Aug 2009)

Hallo zusammen,


private long Count = 0L;

public void erhoeheSessionCount()
{
   Count += 1L;
}

wo ist der unterschied zu 

private long Count = 0;

public void erhoeheSessionCount()
{
   Count += 1;
}


vielen Dank im voraus
Volker


----------



## Noctarius (9. Aug 2009)

Das L am Ende signalisiert Java, dass es sich bei der Zahl um einen Long handeln soll. Fehlt das L wird die Zahl als Integer interpretiert.


----------



## volker_2 (9. Aug 2009)

was, obwohl ich long vor dem variablennamen schreibe ?


----------



## Noctarius (9. Aug 2009)

Das Long vor dem Bezeichner bezieht sich auch nur auf diesen, nicht auf den Wert in der Zuweisung. Du kannst ja auch Integer + Byte oder Short + Integer rechnen.


----------



## Spacerat (9. Aug 2009)

Bei den Zahlen in deinem Beispiel gibt es nicht wirklich einen Unterschied, da sie sich im Bereich Integer.MIN_VALUE und Integer.MAX_VALUE befinden. Numerische konstanten werden standardmässig als int angesehen und bei der Initialisierung im Prinzip auf den geforderten Datentyp "gecastet" (ist faktisch nicht ganz richtig, aber einfacher damit erklärt). Erst wenn z.B. beim Zuweisen auf ein long der int-Bereich verlassen wird, wird auch das "L" notwendig.


----------



## volker_2 (9. Aug 2009)

ok, jetzt habe ich es vestanden!
vielen dank euch beiden für die SUPERSCHNELLE hilfe !!


----------

