In a dynamic language for Java where all variables are declared as java.lang.Object
, I need to call Java built-in classes. For example, java.math.BigDecimal
constructor can accept number, String and etc.
a = 10 // a is `java.lang.Object`
create java.math.BigDecimal(a) // should call constructor that accept number
a = '1.234' // a is `java.lang.Object`
create java.math.BigDecimal(a) // should call constructor that accept String
Are there java.lang.invoke
that I can use to generate appropriate MethodHandle
? The MethodHandle
should accept an java.lang.Object
as its argument, but when invoked, it should call the proper constructor.