this.n = n;
this.str = str;
sArr = arr;
this.list = list;
}
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("int n=").append(this.n).append(" ");
sb.append("String str=").append(this.str).append(" ");
sb.append("String[] sArr=");
for(int i=0;i
}
sb.append("List
for(int i=0;i
}
return sb.toString();
}
}
import java.util.List;
public class DataType {
private int n;
private String str;
private String[] sArr;
private List
public DataType(){}
public DataType(int n, String str, String[] arr, List
this.n = n;
this.str = str;
sArr = arr;
this.list = list;
}
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("int n=").append(this.n).append(" ");
sb.append("String str=").append(this.str).append(" ");
sb.append("String[] sArr=");
for(int i=0;i
}
sb.append("List
for(int i=0;i
}
return sb.toString();
}
}
首先我们先使用不带参数的构造方法
[java]
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class MyTest {
public static void main(String[] args) throws Exception {
int n=100;
String str = "I love java";
String[] sArr = new String[]{"xiaoming","xiaohong","zhangsan"};
List
for(int i=0;i<3;i++){
list.add(i);
}
Class
//获取默认的构造方法对象
Constructor
//运行不带参数的构造方法,创建对象实例
DataType dataType = cons.newInstance(new Object[]{});
//获取所有的字段
Field[] fields = clazz.getDeclaredFields();
//为每一个字段赋值
for(Field field : fields){
//首先设置该字段的可访问性
field.setAccessible(true);
if(field.getType().getSimpleName().equals("int")){
field.set(dataType, n);
}else if(field.getType().getSimpleName().equals("String")){
field.set(dataType, str);
}else if(field.getType().getSimpleName().equals("String[]")){
field.set(dataType, sArr);
}else if(field.getType().getSimpleName().equals("List")){
field.set(dataType, list);
}
}
//获取toString方法
Method toStringMethod = clazz.getMethod("toString", new Class[]{});
Object result = toStringMethod.invoke(dataType, new Object[]{});
System.out.println(result);
}
}
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class MyTest {