今天写程序,遇到一个通过调用类的方法改变值的案例,就写了个一个反射方法.
类为A,方法为public void setXXX(int i,float f);
调用方法为
Class<?> clazz = A.getClass();
Class<?>[] pts = new Class<?>[newArags.length];
int index = 0;
for (Object o : this.newArags) {
pts[index++] = o.getClass();
}
try {
Method m = clazz.getMethod(this.methodName, pts);
m.invoke(this.owner, this.oldArgs);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
其中oldArgs为{1,2.1f},newArgs为{1,1.0f},想法是好,但是结果很是无情:
java.lang.NoSuchMethodException: A.setXXX(java.lang.Integer, java.lang.Float),
难道只能手动的把包装类型转换成基本类型吗?
for (Object o : this.newArags) {
Class<?> c = o.getClass();
if (c == Integer.class) {
c = int.class;
} else if(c == Float.class) {
c = float.class;
} else if (c == Double.class) {
c = double.class;
}
}
有知道更好办法的童鞋请告知我,不胜感激
分享到:
相关推荐
可恶的反义词及造句参考.doc
在这一系列名为《可恶的雾霾》的作文中,我们看到了作者们对雾霾现象的深刻反思和对生活影响的细致描述。 首先,我们必须理解雾霾的定义及其危害。雾霾是空气中悬浮的细微颗粒物,包括PM2.5和PM10,与水汽混合形成...
- **灵活的数据类型**:支持丰富的数据类型,如基本类型(int、char等)、指针、数组、结构体等,满足不同场景的需求。 ### C语言的基本结构 一个典型的C语言程序通常包含以下几个部分: 1. **预处理指令**:以`#`...
运算放大器在电路设计中...然而,通过理解这些基本公式,也可以独立计算出防止振荡或过冲所需的R_ISO值,确保电路的稳定性和性能。总的来说,理解并应用这些理论知识对优化运算放大器驱动电容负载的电路设计至关重要。
2. 没有可恶的水印:表明发布者提供了无干扰的原始资源,方便用户直接查看和使用。 3. 清晰干净:强调电路图的质量很好,易于阅读和理解。 标签知识点: 1. iPhone 8 Plus:再次强调这是有关iPhone 8 Plus的资源。 ...
3. **全面性**:内容覆盖了C语言的所有基本方面,包括但不限于数据类型、控制结构、函数、数组、指针等。 4. **实践导向**:书中包含了丰富的示例代码,帮助读者通过实际编程加深理解。 5. **去除广告**:新版去除...
涵盖所有基本类型和少数专用于Unity的类型。 检测作弊尝试。 视频教程 模糊的预制件 用自动迁移、加密和其他受到支持的类型替换PlayerPrefs。 可以选择将所有保存的数据锁定至设备。 包括篡改检测! 备有适用于...
在英语学习过程中,掌握词汇和表达方式是至关重要的。下面是一些填空练习题,旨在帮助考生巩固语法和短语的应用。 1. 当她知道他要解除婚约时,脸上显露出失望的神色。此处应填入动词短语“came over”,表示表情或...
C程序设计语言(第2版·新版)(去掉了可恶的广告)官方题解
6. **打开/关闭** - 对于用户界面和应用程序,这是基本的控制指令。 例:点击文件菜单,选择“关闭”选项,可以结束当前文档的编辑。 掌握反义词不仅有助于提高IT文档的清晰度,也有利于在团队交流、客户沟通以及...
由于标签为“范文”,我们可以从中提取一些写作技巧和故事构建的知识点。 1. **故事叙述**:文章通过四个部分,讲述了作者与家人如何处理空调洞中的小鸟的趣事,展现了生动的情节和人物对话,使读者能够感受到故事...
这篇幼儿园新冠疫情教案的核心是帮助孩子们理解冠状病毒的基本知识,了解其危害,传播途径,并教授他们有效的预防措施。以下是详细的知识点解析: 1. **冠状病毒的基本特征**:冠状病毒因其表面的突起形状类似花冠...
下面通过一个简单的“Hello, World”示例程序来了解C语言的基本结构和语法规则: ```c #include int main() { printf("Hello, World\n"); return 0; } ``` 1. **预处理指令**:`#include <stdio.h>`,这条指令...
专业
### 英语5000个必备基本单词及其解释全英文 #### 1. abase (v.) - **定义**:使某人在地位、评价等方面降低;贬低。 - **例句**:He was abased by the company's decision to overlook him for promotion. #### 2...
然而,电容负载可能会带来一些问题,如振荡和过冲,因此被称为“可恶”的电容负载。本文主要讨论了如何处理运算放大器驱动电容负载时遇到的挑战。 首先,当运算放大器需要驱动一个电容负载(CLOAD)时,如图1所示,...
这个问题的标题 "可恶的ie8提示缺少id未定义" 描述了一个开发者在IE8浏览器上遇到的典型错误,该错误在其他现代浏览器中并未出现。问题的描述中提到,开发者在页面中动态创建`<select>`元素并填充数据,这些数据来自...