动态拼接方法执行,反射强大的反射
来源:互联网 发布:淘宝福袋真的不能退吗 编辑:程序博客网 时间:2024/05/29 07:48
想动态执行方法么 ,别急用反射
import
java.lang.reflect.Method;
public
class
sssss {
/**
* @param args
*/
public
static
void
main(String[] args)
throws
Exception {
// System.out.print( "ssss ".toUpperCase());
String bb =
"item1"
;
// System.out.print(bb.substring(0,1).toUpperCase()+bb.substring(1,bb.length()));
String aa =
"get"
+ bb.substring(
0
,
1
).toUpperCase()
+ bb.substring(
1
, bb.length());
Class<sssss> classType = sssss.
class
;
Method method = classType.getMethod(aa,
null
);
method.invoke(classType,
null
);
}
public
static
void
getItem1() {
System.out.print(
"ddddddddddd "
);
}
public
static
void
getItem2() {
System.out.print(
"ddddddddddd "
);
}
}
使用反射执行一个方法时常遇到object is not an instance of declaring class的异常
决办法如下:
第一种:反射执行的方法 getPrimaryKey() 改成静态的
第二种:在执行方法前先实例化类。m.invoke(mothed,null)改为m.invoke(c.newInstance(),null)或者m.invoke(new PrimaryKeyUtils(),null)
- public String GetPrimaryKey(String mothed){
- String primaryKey = "";
- try {
- Class c = PrimaryKeyUtils.class;
- Method m = c.getMethod(mothed,new Class[]{});
- // Object obj=c.newInstance();
- m.invoke(mothed,null);
- primaryKey = String.valueOf(m.invoke(c.newInstance() ,new Object[]{}));
- } catch (Exception e) {
- e.printStackTrace();
- }
- return primaryKey;
- }
阅读全文
0 0
- 动态拼接方法执行,反射强大的反射
- java反射拼接方法名动态执行方法
- java反射拼接方法名动态执行方法
- 反射:动态执行一个对象的方法
- 反射执行类的方法
- 反射执行带泛型的方法
- 强大的反射功能动态创建调用dll
- 利用反射动态加载Assembly动态执行类型方法
- 通过反射执行方法
- 用反射执行内部类的方法
- 反射中方法的获取和执行
- java利用反射执行对象的方法
- 强大的PHP反射机制
- 动态方法和反射
- 动态方法和反射
- 反射动态调用方法
- 15 反射与动态执行
- 反射让模板方法模式更强大
- ViewPager轮播适配器
- const char* 类型形参与LPWSTR 类型的实参不兼容
- gift1
- 1126: 布尔矩阵的奇偶性
- idea上maven项目clean后之后遇到的坑
- 动态拼接方法执行,反射强大的反射
- [ETH]以太坊或会推出首个卡斯帕测试网
- UE4蓝图节点翻译---Get Sequence Binding
- Kendo UI grid数据聚合实例
- 从文件系统读取字典文件活和字典文件保存到文件
- 优达(Udacity)-机器学习基础-数据集与问题(安然数据集)
- POJ 1584(判断凸包+点和凸多边形关系+圆和凸多边形关系)
- 想成为linux大牛,却还在打王者荣耀?怎么办
- 多线程下载