InterviewSolution
| 1. |
What do you mean by type conversion ? How is implicit conversion different from explicit conversion ? |
|
Answer» In Java, type conversions are performed automatically when the type of the expression on the right hand side of an assignment operation can be safely promoted to the type of the variable on the left hand side of the assignment. Thus we can safely assign : byte to short to int to long to float to double for example long myLongInteger; // 64 bit long integer int, myInteger; // 32 bit standard integer myLongInteger = myInteger; The extra storage associated with the long integer, in the above example, will simply be padded with extra zeros. Explicit Conversion (Casting) The above will not work the other way round. For example we cannot automatically convert a long to an int because the first requires more storage than the second and consequently information may be lost. To force such a conversion we must carry out an explicit conversion (assuming of course that the long integer will fit into a standard integer). This is done using a process known as a type cast : For example : myInteger = (int) myLongInteger; This tells the compiler that the type of myLongInteger must be temporarily changed to an int when the given assignment statement is processed. Thus, the cast only lasts for the duration of the assignment. |
|