Java Swap 的黑魔法

通常在做swap 都會用另外一個變數來處理交換的問題,
但其實若只做單純的 int 交換, 可以考慮用下面的黑魔法...

/**
 * Created by jerry on 2016/11/30.
 */
public class Swap {
    public static void main(String[] args) {
        int a = -10;
        int b = 20;

        // magic
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;

        System.out.println(a);
        System.out.println(b);
    }
}

沒有留言:

張貼留言