Извикване на метод като стринг ???

4 отговора 0 прегледа
#1

Извикване на метод като стринг ???

Здравейте,

възможно ли е да извикам някакъв статичен метод, имайки само името му като стринг, например Integer.parseInt(String), да бъде извикан с нещо от сорта:
callMethod("Integer.parseInt", "123")? Дано съм го обяснил добре :-)

Мерси предварително!

п.п. абравих да спомена, че класът от който искам да извиквам метода е final - което май е проблем, доколкото аз се разтърсих в апи-тата.

Отговор
в отговор на EroS #2

Re: Извикване на метод като стринг ???

Може - разгледай java.lang.reflect пакета

Отговор
в отговор на Bacил #3

Re: Извикване на метод като стринг ???

Мерси.

И аз се бях насочил към този клас, но основният проблем ми беще че трябваше да се добера до java.lang.Class инстанция на java.lang.Math - невъзможно май. Но намерих метода Class.forName(String) който ми свърши работа.

Благодаря отново!

Отговор
в отговор на EroS #4

Re: Извикване на метод като стринг ???

Ако искаш да се добереше до Class обекта на даден клас, можеш да ползваш ключовата дума class:
Class c = java.lang.Math.class;

Отговор
в отговор на EroS #5

Re: Извикване на метод като стринг ???

Ако ти трябват пове4е подобни неща, хвърли един поглед на Groovy (динами4ен език за JVM). Там става така:

object."$method"(args)

Става и с атрибути:

object["field"]

Отговор