我很感興趣,在Java中這樣做的C代碼:什麼是乾淨的方式來修改java中的函數內的參數?
// sets n's ith bit from right, i starts from 0
void setBit(int* n, int i){
*n = *n | (1 << i);
}
但是,它看起來像Java不能通過地址,所以這將是一些清潔方法?
我想到了兩種方法,但我想知道是否有更好的方法來做到這一點?
方法1:使用數組
// sets n[0]'s ith bit from right, i starts from 0
public void setBit(int[] n, int i){
n[0] = n[0] | (1 << i);
}
方法2:使用一個類
private class Data{
int value;
}
// sets d.value's ith bit from right, i starts from 0
public void setBit(Data d, int i){
d.value = d.value | (1 << i);
}
「我想知道是否有更好的方法來做到這一點? - 沒有。 –
感謝Sam,我甚至沒有注意到這個功能! – Popcorn
是否有任何理由不使用'BitSet'來設置位? –