Java Type conversion/Type Casting2 min read

Type Casting is assigning a value of one data-type to a variable of anotherĀ data-type.

When a value is assigned to another variable, their types might not be compatible with each other to store that value. For this situation, they need to be cast or converted explicitly. But if they are compatible then java converts the values automatically which is known as Automatic Type Conversion.

In Java, there are two types of casting:

  • Widening Casting (Implicit)
  • Narrowing Casting (Explicitly)

1. Widening Casting (Implicit):

Converting a data-type of smaller size to a type of larger size. It is also known as Automatic Type Conversion.
byte -> short -> char -> int -> long -> float -> double

Example of Widening or Implicit Casting:


2. Narrowing Casting (Explicit):

Converting a data-type of larger size (occupying larger space) to a type of smaller size. For this type of conversion programmer itself to perform the task. Here, unlike Widening Casting,  JVM(Java Virtual Machine) does not take part.
double -> float -> long -> int -> char -> short -> byte

Example of Narrowing or Explicit Casting:


call by value and call by reference.
OOP in java.