Java NIO,这段代码中的&符号是做什么的?

Java NIO, what's the ampersand doing in this section of code?

我正在阅读一篇关于使用 Java NIO 构建可扩展 java 服务器的文章 here。它包含以下代码片段:

...
while (isRunning) {
  // blocking call, to wait for new readiness events
  int eventCount = selector.select(); 

  // get the events
  Iterator<SelectionKey> it = selector.selectedKeys().iterator();
  while (it.hasNext()) {
    SelectionKey key = it.next();
    it.remove();

    // readable event?
    if (key.isValid() && key.isReadable()) {
      eventHandler.onReadableEvent(key.channel());
    }

    // writable event? 
    if (key.isValid() && key.isWritable()) {
      key.interestOps(SelectionKey.OP_READ); // reset to read only
      eventHandler.onWriteableEvent(key.channel());
    }
    ...
  }
  ...
} 

上面代码中的符号是做什么的? 都在这里:

  // get the events
  Iterator<SelectionKey> it = selector.selectedKeys().iterator();

这里:

    // readable event?
    if (key.isValid() && key.isReadable()) {
      eventHandler.onReadableEvent(key.channel());
    }

我知道单个 & 用于 if 语句中的按位运算,但我不明白它在上面两个示例中的应用方式。

它不会编译,因为它是转义的 HTML 个实体,&lt;< 相同,&gt; 与 [=13= 相同]

  • lt代表小于
  • gt代表大于
  • amp代表&符号

当您从网站复制资源时,一些特殊字符没有正确转换。 在您的情况下,&lt; 等于 <&gt; 等于 >&amp; 等于 &