posted 18 years ago
Your question involves two different types of conversions, assignment conversion and method invocation conversion.
Assignment conversion includes what are called narrowing primitive conversions. Basically if the type of the variable on the left is a byte, char, or short, and the type on the right of the assigment statement is a compile-time constant of type byte, char, short, or int that is within the range of the variable on the left, then a narrowing primitive conversion will be performed.
Method invocation conversion does not contain the narrowing primitive conversions.