【发布时间】:2015-08-07 20:43:03
【问题描述】:
我必须动态获取名称在 jsp 的下拉列表中可用的表。选择表名后,应打印相应的列。为此,我在 jsp 中运行了一个循环并尝试,但是否可以将“对象”类型的对象转换为类名仅已知的类,然后使用该对象我必须访问相应的类方法。
ex:我从 jsp 得到的 className 是“Book”,我有一个类 Book.class,它有一个方法 getName(),所以我想要这样的东西:
Object obj1 = Class.forName(className).cast(obj);
obj1.getName();
这里obj是我通过会话得到的对象。
【问题讨论】:
-
你为什么不试试看会发生什么? :)
-
如果您在编译时不知道所需的类型,那么这样的强制转换会实现什么?
-
我收到一个编译时错误,指出 obj 无法解析为变量。
-
obj1.getName();会报编译错误。 -
@user1283438 这是有道理的,因为
Object类型没有getName()方法,而你告诉编译器的只是“obj1是某种Object"。
标签: java jsp reflection