import java.lang.reflect.*;
class Start
{
public static void main( String[] argv )
{
String me, klasa;
Object arg;
Method met;
int v=argv.length-1;
int argc =argv.length;
if ( argc == 0 ) {
System.err.println( "err!!!");
return;
}
try
{ while (argc!=0)
{
Class<?> c = Class.forName(argv[v]);
klasa = (String) c.newInstance();
Method[] m = InfoInterface.class.getMethods();
arg = m[2].invoke(c.newInstance());
me = (String) m[1].invoke(c.newInstance());
klasa = (String) m[0].invoke(c.newInstance());
met = klasa.getClass().getMethod(me, String.class);
met.invoke(klasa, arg);
--argc;
}
}
catch ( Exception e ) { System.out.println(e) ; return; }
}
}
我不知道为什么在这段代码中显示了ClassCastException。我从小时开始搜索错误,我不知道它有什么问题。请帮帮我!
要编程的课程通过推荐行添加。
答案 0 :(得分:2)
这很奇怪。你想做什么?
我认为,你试图在其中一行中将一些Object转换为String:
Class<?> c = Class.forName(argv[v]);
me = (String) m[1].invoke(c.newInstance());
klasa = (String) m[0].invoke(c.newInstance());
取决于InfoInterface有哪些方法。