Ich verstehe, dass der folgende Code nichtAutoboxing/Erweiterung erfolgt in Kurz a = 3, aber nicht in Float a = 3;
Float a=3
weil sein übersetzt als Float a = Integer.valueOf (3) arbeiten. Wir haben eine Float-Referenz auf der LHS und ein Integer-Objekt auf der RHS, die nicht kompatibel ist. Aber:
1.
`Short a=3;`
Dies funktioniert, wenn auch hier wieder, werden wir eine Kurzreferenz auf der LHS haben und ein Integer-Objekt auf der RHS.
2.
Float a=(Float) 3
Wenn wir 3 nicht typecasted hätte, wäre es als Integer.valueOf übersetzt wurden (3). Wird es nun als Float.valueOf (3) übersetzt?
Haben Sie einen Java-Compiler? Wenn ja, können Sie das versuchen. – DJClayworth