Извикване на метод като стринг ???
4 отговора
0 прегледа
Извикване на метод като стринг ???
Здравейте,
възможно ли е да извикам някакъв статичен метод, имайки само името му като стринг, например Integer.parseInt(String), да бъде извикан с нещо от сорта:
callMethod("Integer.parseInt", "123")? Дано съм го обяснил добре :-)
Мерси предварително!
п.п. абравих да спомена, че класът от който искам да извиквам метода е final - което май е проблем, доколкото аз се разтърсих в апи-тата.
възможно ли е да извикам някакъв статичен метод, имайки само името му като стринг, например Integer.parseInt(String), да бъде извикан с нещо от сорта:
callMethod("Integer.parseInt", "123")? Дано съм го обяснил добре :-)
Мерси предварително!
п.п. абравих да спомена, че класът от който искам да извиквам метода е final - което май е проблем, доколкото аз се разтърсих в апи-тата.
Re: Извикване на метод като стринг ???
Мерси.
И аз се бях насочил към този клас, но основният проблем ми беще че трябваше да се добера до java.lang.Class инстанция на java.lang.Math - невъзможно май. Но намерих метода Class.forName(String) който ми свърши работа.
Благодаря отново!
И аз се бях насочил към този клас, но основният проблем ми беще че трябваше да се добера до java.lang.Class инстанция на java.lang.Math - невъзможно май. Но намерих метода Class.forName(String) който ми свърши работа.
Благодаря отново!
Re: Извикване на метод като стринг ???
Ако искаш да се добереше до Class обекта на даден клас, можеш да ползваш ключовата дума class:
Class c = java.lang.Math.class;
Class c = java.lang.Math.class;
Re: Извикване на метод като стринг ???
Ако ти трябват пове4е подобни неща, хвърли един поглед на Groovy (динами4ен език за JVM). Там става така:
object."$method"(args)
Става и с атрибути:
object["field"]
object."$method"(args)
Става и с атрибути:
object["field"]