Comment by pdw

Comment by pdw 2 days ago

1 reply

The signedness of `char` is implementation-defined, it is signed on x86 but unsigned on ARM. So assigning a plain char to a wider integer type is suspicious, did the programmer expect sign-extension or zero-extension?

astrange a day ago

It's not implementation-defined in Java because there aren't any unsigned types.

Personally I think explicit typecasts are even more suspicious, because introducing explicit semantics is worse than implicit semantics if the explicit ones are wrong.