/**
*
*/
package test;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author JianJiang
*
*/
public class ListUtils {
private static class MyPrivateClass{
private T name;
private int id;
public MyPrivateClass(T name, int id) {
this.name = name;
this.id = id;
}
/**
* @return the name
*/
public T getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(T name) {
this.name = name;
}
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
}
/**
* @param t
* @return
* @throws IllegalAccessException
* @throws IllegalArgumentException
*/
public static T[] toConvert(List> t,Class obj) throws IllegalArgumentException, IllegalAccessException{
Object newInstance = Array.newInstance(obj, t.size());
for (int i = 0; i < t.size(); i++) {
MyPrivateClass myPrivateClass = t.get(i);
Field[] fields = myPrivateClass.getClass().getDeclaredFields();
for (int j = 0; j < fields.length; j++) {
Field test = fields[j];
test.setAccessible(true);
Class> declaringClass = test.getType();
if(declaringClass==obj){
Object object = test.get(myPrivateClass);
Array.set(newInstance, i, object);
}
}
}
return (T[]) newInstance;
}
public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException {
MyPrivateClass