2017-07-04 1 views
0

Je voulais juste savoir quelle est la différence entre a = a+b; et a += b;Java '+ =' concept de travail opérateur composé

considèrent,

int a = 10; 
long b = 20; 

a = a+b; // is not possible 

mais

a += b; // is possible. 

Merci!

package com.test; 


public class ClassCast { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     int a = 1; 
     long b = 2; 

     /*Not possible. Compile time error. 
     a = a+b; 
     */ 

     //Possible. Why? 
     //a += b; 

     System.out.println(a += b); 

    } 

} 

Répondre

0

Donc a + = b est équivalent à a = (int) (a + b).

conversion implicite effectuée par le compilateur