泛型实例化

需求: 没有Adapter 之前都是用的String 现在要求使用泛型POJO
但是代码中有需要泛型实例化的部分
工程中所有的Bean都是Serializable序列化的 与Parcelable不冲突

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class TagGroup<T extends TagGroup.TagAble> extends ViewGroup {

public interface TagAble extends Parcelable {
public String id();
public String name();
}

private Class<T> clazz;

public void setClazz(Class<T> clazz) {
this.clazz = clazz;
}

private T getInstanceOfT()
throws InstantiationException, IllegalAccessException {
return clazz.newInstance();
}

@SuppressWarnings("unchecked")
private T[] getArrayInstanceOfT(int s) {
return (T[]) Array.newInstance(clazz, s);
}