bekam ich eine Methode, die einen long
Typ parameher empfängt, und ich versuche, es zu nennen 1
vorbei:Java: Warum akzeptiert der "lange" primitive Typ keine einfache Zahl?
contato.setId(1);
Und ich erhalten diese:
The method setId(Long) in the type Contato is not applicable for the arguments (int).
Aber ist nicht 1
eine lange Reihe auch? Ist es nicht innerhalb der langen Scope?
PS: Nur zu sagen, ich löste das Problem mit diesem Code:
Integer y = 1;
long x = y.longValue();
contato.setId(x);
Es ist nur eine Frage didatic.
Wenn die Methode ein wenig l 'akzeptiert long', wäre es gut funktionieren; Es ist nur so, dass int-Literale nicht direkt zu 'Long' autoboxieren können. –
mögliches Duplikat von [Wie ist ein Float hier zu einem Double geworden?] (Http://stackoverflow.com/q/3680879/217324) - meine Antwort dort erklärt die Entscheidungen, die hinter der in Louis erwähnten Autoboxing-Limitierung stehen –