Before we learn about reified,

Generics in any language is the powerful features that allow us to define classes, methods and properties which are accessible using different data types while keeping a check of the compile-time type safety.

The best example for generics is Array or any List/Collection implementation.

Here the templete T can be of any class that the reason we can create an Array or List of any class objects.

Now, let’s try to get the type of this template at run time within the function.

What we are trying to achieve here is we want to add an extension function to Array which will check the type at run time and if that type is Int, it will return the average of all the elements in that array else this will return 0.0f

This will give the below compilation error

The possible way to access the type of the Template class is by passing it as a parameter.

Since we can not use the type of template at runtime directly, we need to use reified here.

Please continue reading at https://agrawalsuneet.github.io/blogs/reified-kotlin/

That’s all for now. You can read my other interesting posts here or you can enjoy my games or apps listed here. Feel free to use my open-source Android components in your app listed here. Or drop an email, if you didn’t find what you are looking for and need some help.