package com.alibaba.json.bvt.typeRef;
import com.alibaba.fastjson.TypeReference;
import junit.framework.TestCase;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
/**
* Created by wuwen on 2016/12/7.
*/
public class TypeReferenceTest12 extends TestCase {
public void test_same() throws Exception {
ParameterizedType type1 = getType(Integer.class);
ParameterizedType type2 = getType();
assertEquals(type1.getRawType(), type2.getRawType());
assertSame(type1.getRawType(), type2.getRawType());
}
<T> ParameterizedType getType(Type type) {
return (ParameterizedType)new TypeReference<Model<T>>(type) {}.getType();
}
ParameterizedType getType() {
return (ParameterizedType)new TypeReference<Model<Integer>>() {}.getType();
}
public static class Model<T> {
public T value;
}
}