What I would expect is that 'potentialByteArray instanceof byte[] would return true when potentialByteArray is an instance of a byte[], but this doesn't seem to happen -- it's always false for some reason!
I've got a conditional that looks like the following:
if (!(potentialByteArray instanceof byte[])) { /* ... process ... */ }
else {
log.warn("--- can only encode 'byte[]' message data (got {})", msg.getClass().getSimpleName());
/* ... handle error gracefully ... */
}
...and what this outputs is the following:
--- can only encode 'byte[]' message data (got byte[])
Which means that the object actually was a byte[] but wasn't an instanceof byte[] somehow. So... would this work for Byte[] instead or something? What's really going on here, and why isn't this working as I am expecting?
What's an appropriate idiom to use here instead?
It looks like you have a ! (not) that you don't need
if (!(potentialByteArray instanceof byte[])) {...}
should be
if (potentialByteArray instanceof byte[]) {...}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With