【发布时间】:2012-01-04 19:56:52
【问题描述】:
我正在查看一些 GWT 类的代码,但遗憾的是,我无法理解这部分代码:
private void toggleHover() {
// Toggle hovering.
int newFaceID = getCurrentFace().getFaceID() ^ HOVERING_ATTRIBUTE;
// Remove disabled.
newFaceID &= ~DISABLED_ATTRIBUTE;
setCurrentFace(newFaceID);
}
我不太了解java运算符,所以,我的问题是:
究竟发生了什么:
a)getCurrentFace().getFaceID() ^ HOVERING_ATTRIBUTE
b)newFaceID &= ~DISABLED_ATTRIBUTE;
& 是按位与,^ 是按位异或运算符。这就是我所知道的一切。但是,我不明白~DISABLED_ATTRIBUTE 以及在评估值时会发生什么。
这段代码来自 GWT com.google.gwt.user.client.ui.CustomButton 类。
提前致谢。
【问题讨论】:
-
~是一元按位非运算符。 -
你用过哪个教程来学习位运算符?
标签: java operators bit-manipulation