本帖最后由 student 于 2013-6-3 18:55 编辑
下面的例子,int.class改为integer.class会抛出异常。
问题:是不是反射中不能自动拆箱和装箱呢?注释部分是反射获得构造方法的正确写法- package com.demo;
- import java.lang.reflect.Constructor;
- class Student {
- private String name;
- private int age;
-
- public Student(String name, int age) {
- this.name = name;
- this.age = age;
- }
- }
- public class Demo {
- public static void main(String[] args) throws Exception {
- //获得字节码
- Class cla = Class.forName("com.demo.Student");
-
- //正确的写法:获得构造方法
- // Constructor<Student> cons = cla.getConstructor(String.class, int.class);
-
- //错误的写法:获得构造方法
- Constructor<Student> cons = cla.getConstructor(String.class, Integer.class);
- //创建实例对象
- Student stu = cons.newInstance("Student", 23);
- }
- }
复制代码
|