A conversion enables an expression to be treated as being of a particular type. A conversion may cause an expression of a given type to be treated as having a different type, or it may cause an expression without a type to get a type. Conversions can be implicit or explicit, and this determines whether an explicit cast is required. For instance, the conversion from type
int to type
long is implicit, so expressions of type
int can implicitly be treated as type
long. The opposite conversion, from type
long to type
int, is explicit and so an explicit cast is required.
int a = 123;long b = a; // Implicit conversion from int to longint c = (int) b; // Explicit conversion from long to int
Some conversions are defined by the ...