小编Eri*_*rin的帖子

比较两个bool时,为什么在&java中使用&&?

我正在查看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)

java optimization guava

8
推荐指数
1
解决办法
175
查看次数

dart angular 2响应页面上任何位置的keydown事件

我希望能够使用键盘控制视图.如何使文档接受键盘输入.我试着做document.keydown,但那没用.

我能够在我的组件类中使用它:

  @HostListener('click', const ['\$event'])
  void onClick(event) {
    x++;
  }
Run Code Online (Sandbox Code Playgroud)

当我直接点击div时,这会向x添加一个.我希望能够按一个键并调用一个函数.

dart angular

0
推荐指数
1
解决办法
413
查看次数

标签 统计

angular ×1

dart ×1

guava ×1

java ×1

optimization ×1