Swap in java isn't more or less swap than C++

void swap(Object a,Object b){
Object temp=a;
a=b;
b=temp;
}

The sick thing with java that everything is an object and all but internal datatypes are on the heap; all variables are of course pointers. All lowlevel stuff removed, multiple inheritance removed, no generic programming at all, just use Object, the master of overheads.