short
char
Such comparisons may cause subtle bugs because while both values are 2-byte long, short values are signed, and char values are unsigned.
Example:
if (Character.MAX_VALUE == shortValue()) {} //never can be true