Is there any equivalent to typedef of C/C++ in Java ?
In one line, There is nothing in Java which is equivalent to typedef of C++. In Java, class is used to name and construct types or we can say that class is the combined function of C++’s struct and typedef. But that is totally different thing and not the equivalent of typedef anywhere. typedef: It is a keyword not a function that is used in C/C++ language to assign alternative names to existing data types. It is used with the user defined data types when the name of data types get little bit complicated that time the typedef keyword is used, unless it is unnecessary. Syntax of using typedef:
typedef existing_name alias_name;
typedef with pointers: typedef will also work with the pointer in C/C++ language like renaming existing keywords. In case of pointers * binds in the right not the left side.
int* x, y;
In the above syntax, we are actually declaring x as a pointer of type int, whereas y will be declared as a plain integer But if we use typedef then we can declare any number of pointers in a single statement like below.
typedef int* IntPtr ; IntPtr x, y, z;
typedef can be used for :
- typedef can provide a simple name for a complicated type cast
- typedef can also be used to give names to unnamed types. In such cases, the typedef will be the only name for said type