Skip to content

Instantly share code, notes, and snippets.

@piotrpo piotrpo/KGenericFactory.kt Secret
Created Mar 22, 2018

Embed
What would you like to do?
inline fun <reified T> create():T{
return T::class.java.getConstructor().newInstance()
}
fun main(args: Array<String>) {
println(create<DummyClass>().dummyMethod())
}
class DummyClass{
fun dummyMethod():String{
return "Dummy class text"
}
}
@tarsa

This comment has been minimized.

Copy link

tarsa commented Mar 22, 2018

Java version:

import java.util.function.Supplier;

class DummyClass {
    String dummyMethod() {
        return "Dummy class text";
    }
}

public class NewInstance {
    static <T> T create(Supplier<T> supplier) {
        return supplier.get();
    }

    public static void main(String[] args) {
        System.out.println(create(DummyClass::new).dummyMethod());
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.