Weil %code% äquivalent zu %code% ist, während %code% standardmäßig auf %code% operation ist, weisen Sie ein int zu, das char umgewandelt werden muss.
Aus der %code% ,
Ein zusammengesetzter Zuordnungsausdruck der Form E1 op = E2 ist äquivalent zu E1 = (T) ((E1) op (E2)), wobei T der Typ von E1 ist, außer dass E1 wird nur einmal ausgewertet. Beachten Sie, dass die implizierte Umwandlung für Typ T sein kann entweder eine Identitätskonvertierung (? .1.1) oder ein sich verengendes Primitiv Umwandlung (? .1.3).
Frage:
%Vor%Frage:
%Vor% Weil x += 3
äquivalent zu x = (char)(x+3)
ist, während x + 3
standardmäßig auf int
operation ist, weisen Sie ein int zu, das char umgewandelt werden muss.
Aus der JLS specification : 15.26.2
,
Ein zusammengesetzter Zuordnungsausdruck der Form E1 op = E2 ist äquivalent zu E1 = (T) ((E1) op (E2)), wobei T der Typ von E1 ist, außer dass E1 wird nur einmal ausgewertet. Beachten Sie, dass die implizierte Umwandlung für Typ T sein kann entweder eine Identitätskonvertierung (? .1.1) oder ein sich verengendes Primitiv Umwandlung (? .1.3).
Tags und Links java casting compound-operator