Nous savons:
int i = 5;
long j = 7;
i = i + j ne peut pas compiler, mais i + = j peut compiler et exécuter, et le résultat est i = 12.
C'est parce que:
i + = j est équivalent à i = (int) (i + j);
Le résumé est: pour les expressions d'attribution composés, E1 OP = E2 (comme i + = j; i - = j, etc.) est en fait équivalent à e1 = (t) ((e1) op (e2)), où t est le type de l'élément e1.
Cette question a en fait été répondue dans la documentation officielle. Adresse officielle du document §15.26.2 opérateurs d'affectation composés
Ce qui précède est une brève introduction à la différence entre les opérateurs + = et ++ introduits par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, laissez-moi un message. L'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web du réseau Wulin!