![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How does the reified keyword work in Kotlin?
"reified" is a special type of keyword that helps Kotlin developers to access the information related to a class at runtime. "reified" can only be used with inline functions. When "reified" keyword is used, the compiler copies the function’s bytecode to every section of the code where the function has been called. In this way, the generic type T will be assigned to the type of the value it gets as an argument.
Example
In this example, we will see how "reified" is helpful to re-use our code and use the same function to perform similar kind of operation regardless of its passing argument.
For this example, we have created an Inline function and we are passing a generic "reified" argument T and from the main() of Kotlin, we are calling myExample() multiple times with different arguments.
// Declaring Inline function inline fun <reified T> myExample(name: T) { println("
Name of your website -> "+name) println("
Type of myClass: ${T::class.java}") } fun main() { // calling func() with String myExample<String>("www.tutorialspoint.com") // calling func() with Int value myExample<Int>(100) // calling func() with Long value myExample<Long>(1L) }
Output
It will generate the following output −
Name of your website -> www.tutorialspoint.com Type of myClass: class java.lang.String Name of your website -> 100 Type of myClass: class java.lang.Integer Name of your website -> 1 Type of myClass: class java.lang.Long