char
is Java's only unsigned type, therefore its value range does not fully contain any other Java type's value range.
You must use an explicit cast operator for any conversion where the target type's range doesn't fully cover the source type's range.