Suppose I have two classes deriving from a third abstract class:
public abstract class Parent{ public Parent(){ } } public class ChildA extends Parent { public ChildA { } } public class ChildB extends Parent { public ChildB { } }
In C# I could handle casting in a somewhat type safe manner by doing:
ChildA child = obj as ChildA;
Which would make child == null if it wasn't a ChildA type object. If I were to do:
ChildA child = (ChildA)obj;
...in C# this would throw an exception if the type wasn't correct.
So basically, is there a way to to do the first type of casting in Java? Thanks.
Type casting is when you assign a value of one primitive data type to another type.
There are two types of casting in Java as follows: Widening Casting (automatically) – This involves the conversion of a smaller data type to the larger type size. Narrowing Casting (manually) – This involves converting a larger data type to a smaller size type.
The process of converting the value of one data type ( int , float , double , etc.) to another data type is known as typecasting. In Java, there are 13 types of type conversion.
Typecasting, also known as type conversion in Java, is a process that helps developers to assign a primitive data type value to other primitive data types. Here, compatibility is the key! Developers need to check whether a data type is compatible with the assigned data type or not.
I can't think of a way in the language itself, but you can easily emulate it like this:
ChildA child = (obj instanceof ChildA ? (ChildA)obj : null);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With