我期望的是,当potentialByteArray instanceof byte[]
是potentialByteArray
的一个实例时,'byte[]
会返回true,但这似乎不会发生 - 对某些人来说总是错误的原因!
我有条件如下:
if (!(potentialByteArray instanceof byte[])) { /* ... process ... */ }
else {
log.warn("--- can only encode 'byte[]' message data (got {})", msg.getClass().getSimpleName());
/* ... handle error gracefully ... */
}
......以及以下内容:
--- can only encode 'byte[]' message data (got byte[])
这意味着实际上的对象是byte[]
但不是某种instanceof byte[]
。那么...这对Byte[]
而言是否适用?这里到底发生了什么,为什么这不像我期待的那样有效?
在这里使用什么是合适的习惯用语?
答案 0 :(得分:13)
看起来你有!
(不是)你不需要
if (!(potentialByteArray instanceof byte[])) {...}
应该是
if (potentialByteArray instanceof byte[]) {...}