Posted By: Neuromancer (... bright eyes ...) on 'CZprogram'
Title:     Re: Java
Date:      Fri Jan 31 23:56:56 2003

> 
> Ahoj,
> zacinam s Javou a narazil jsem na pro me neprekonatelny problem. Btw jde o 
> verzi1.3, na te to musi jet.
> Mam nekolik trid ktere jsou 'zvenci' stejne, vsechny obsahuji pouze jednu 
> metodustejneho jmena a parametru. Nekolik -- asi sto. Potom mam metodu,
> ktera 
> mi podle
> okolnosti vraci jmeno tridy, jejiz metodu mam prave zavolat.
> 
> Cili potrebuju zavolat metodu [znameho jmena a volani] TRIDY, jejiz JMENO
> mam 
> v promenne. Nasel jsem si loadClass, ale nedari se mi to zkompilovat:
> 
> import java.lang.reflect.Method;
> 
> class ClassLoader
> {
>         public void invokeClass(String name,String[] args)
>         {
>                 Class c = loadClass(name);
>                 Method m=c.getMethod("f",new Class[] { args.getClass() });
>         }
> }
>     
> [dzon@alf java]$ javac -d . l.java 
> l.java:10: cannot resolve symbol
> symbol  : method loadClass  (java.lang.String)
> location: class cz.o.l.ClassLoader
>                 Class c = loadClass(name);
>                           ^
> 1 error
> 
> Byl by nekdo tak laskavy a ukazal mi kousek kodu kde se vola rekneme metoda 
> int m(String s)
> tridy, jejiz jmeno je ulozeno ve Stringu CL?

Ja ti asi moc neporadim, protoze s javou taky vicemene zacinam, ale napada
me jine reseni, o kterem vim ze fu nguje, protoze jsme ho pouzival.
Muzes tridu nahrat (pokud je lokalne na disku, na applety by to mozna
nefungovalo.. nebo jo?) takhle:
Class c;
try{
  c = Class.forName( "com.bla.secret.classname" );
}
catch (ClassNotFoundException e) {
  //whatever
}
//tu muzes treba udelat newInstance nebo to getMethod..

Jinak na tvem priklade mi primarne pripadne spatne to, ze volas globalni
funkci, coz v jave neexistuje (pokud jsi tedy nevynechal cast zdrojaku
a ta tva trida od neceho nededi).
No, treba jsem ti pomohl, a jestli ne, urcite se ozve nekdo zkusenejsi.

>  
>                                                   -Dzon
> 
> **    Masochisticke prirozene sklony nejsou sice zakladni podminkou    ** 
> **             k pouziti Windows, ale velice pomahaji                  **
--------------------------------------------------------------------/
|       ICQ 20529980                               Neuromancer       |
|              Take me far away, where the dragons fly,              |
/------------ leave me to my dreams, or just let me die. ------------

Search the boards