Type Casting in JavaType casting in Java is a fundamental concept that allows developers to convert data from one data type to another. It is essential for handling data in various situations, especially when dealing with different types of variables, expressions, and methods. In Java, type casting is a method or process that converts a data type into another data type in both ways manually and automatically. The automatic conversion is done by the compiler and manual conversion performed by the programmer. In this section, we will discuss type casting and its types with proper examples. Type CastingConvert a value from one data type to another data type is known as type casting. Rules of TypecastingWidening Conversion (Implicit)
Narrowing Conversion (Explicit)
Use CasesTypecasting is commonly used in various scenarios, such as:
Types of Type CastingThere are two types of type casting:
Widening Type CastingConverting a lower data type into a higher one is called widening type casting. It is also known as implicit conversion or casting down. It is done automatically. It is safe because there is no chance to lose data. It takes place when:
Why Widening Type Casting?Widening conversion needs to be implemented in order to enable Java to work smoothly with different data types. It creates unbroken workflows when an element of a smaller type is used in a context that needs a larger type. The reason for generalizing the narrower type is in order not to lose any data by converting the smaller type to the larger one, and preserving the whole information. Types of Widening Type CastingThe common procedure of the Widening type casting is about conversion from primitive to primitive data types in Java.
Key Points to Note
For example, the conversion between numeric data type to char or Boolean is not done automatically. Also, the char and Boolean data types are not compatible with each other. Let's see an example. WideningTypeCastingExample.java Output Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0 In the above example, we have taken a variable x and converted it into a long type. After that, the long type is converted into the float type. Narrowing Type CastingConverting a higher data type into a lower one is called narrowing type casting. It is also known as explicit conversion or casting up. It is done manually by the programmer. If we do not perform casting, then the compiler reports a compile-time error. Why Narrowing Type casting?Narrowing typecasting becomes necessary when we need to convert data from a larger data type to a smaller one. It often occurs when we are working with data of different sizes and need to fit larger values into smaller containers. Let's see an example of narrowing type casting. In the following example, we have performed the narrowing type casting two times. First, we have converted the double type into long data type after that long data type is converted into int type. NarrowingTypeCastingExample.java Output Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166 Potential Data LossOne of the risky things incurred with narrowing type casting is data loss. When going from a larger data type to a smaller one, we may lose accuracy or range. For example, if the value of the target data type is larger than the range represented by the larger data type. Handling Potential Data Loss
Avoiding Runtime ErrorsNarrowing type casting or any other improper usage of it can lead to runtime errors consisting of data truncation or unexpected behaviors.
Type Casting PitfallsWhile type casting is a powerful feature, it comes with certain pitfalls:
Avoiding Pitfalls
Next TopicConditional Operator in Java |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India