Я ожидал бы, что 'potentialByteArray instanceof byte[]
вернет истину, когда potentialByteArray
является экземпляром byte[]
, но этого, похоже, не происходит - это всегда ложь по какой-то причине!
У меня есть условие, которое выглядит следующим образом:
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[])
Что означаетобъект на самом деле был a byte[]
, но каким-то образом не был instanceof byte[]
.Так ... это сработает вместо Byte[]
или как-то так?Что на самом деле здесь происходит, и почему это не работает так, как я ожидаю?
Какую подходящую идиому использовать здесь вместо этого?