我正在查看Guava中的代码https://github.com/google/guava,我看到了很多很酷的优化.
我想知道使用&over &&是否是一种优化,如果是,为什么呢?这可能是一种风格选择吗?
我们在IntMath .checkedPow函数中对int b进行平方.我们想检查b*b是否溢出:
checkNoOverflow(-FLOOR_SQRT_MAX_INT <= b & b <= FLOOR_SQRT_MAX_INT);
b *= b;
Run Code Online (Sandbox Code Playgroud)
在这个例子中,为什么用&&?
编辑:马特是正确的.我在Java 8中编译了这个Java代码:
public static boolean and (boolean a, boolean b){
return a && b;
}
public static boolean andBit (boolean a, boolean b){
return a & b;
}
Run Code Online (Sandbox Code Playgroud)
我使用Intellij查看了Byte代码.我看到我们在"和"函数中使用分支,因为我们有IFEQ和GOTO.
// access flags 0x9
public static and(ZZ)Z
L0
LINENUMBER 8 L0
ILOAD 0
IFEQ L1
ILOAD 1
IFEQ L1
ICONST_1
GOTO L2
L1
FRAME SAME
ICONST_0
L2
FRAME SAME1 I
IRETURN …Run Code Online (Sandbox Code Playgroud) 我希望能够使用键盘控制视图.如何使文档接受键盘输入.我试着做document.keydown,但那没用.
我能够在我的组件类中使用它:
@HostListener('click', const ['\$event'])
void onClick(event) {
x++;
}
Run Code Online (Sandbox Code Playgroud)
当我直接点击div时,这会向x添加一个.我希望能够按一个键并调用一个函数.