这些陈述是否相等?(java.nio)

时间:2016-04-18 13:06:53

标签: java

我正在尝试了解java.nio.I正在制作简单的echo服务器。 假设我们得到了keyCycler - 它是迭代器,然后是:

SelectionKey key = (SelectionKey)keyCycler.next();
//Retrieve set of ready ops for
//this key (as a bit pattern)...
int keyOps = key.readyOps();
if ((keyOps & SelectionKey.OP_ACCEPT)== SelectionKey.OP_ACCEPT)

我想知道这个

if ((keyOps & SelectionKey.OP_ACCEPT)== SelectionKey.OP_ACCEPT)

总是等于这个

    if(key.isAcceptable())

如果不是,在这种情况下它们是不同的。可能我把整件事弄错了..

1 个答案:

答案 0 :(得分:1)

source code比较:

return (readyOps() & OP_CONNECT) != 0;

由于OP_CONNECT的位掩码具有互斥位,因此与您的代码相同。