NutzCN Logo
问答 问答 能否用变量代替泛型类的定义
发布于 2970天前 作者 汉歌 1612 次浏览 复制 上一个帖子 下一个帖子
标签:
Attribute<String> age = ..;
Attribute unitNo = ..;
##Attribute后面<>中的类型是一个不定的变量,我想这个函数fun(class clazz,T t)实现定义变量;
列
Attribute attr = fun(Attribute.class,String.class); ##等于定义Attribute<String> attr = 。。,
Attribute attr = fun(Attribute.class,Integer.class); ##等于定义Attribute<Integer> attr = 。。

求大拿们写出fun(class clazz,T t)的实现方法

6 回复

不知道能声明2个泛型?? 类一个,属性一个

public static <T, K> T func(Class<K> klass, Class<T> tklass) {

}

Attribute 就可以了啊

居然被转义了····

Attribute<T> 就能实现啊
	public <T> T getAttributeAs(String name, Class<T> type) {
		DataDefine dataDefine = type.getAnnotation(DataDefine.class);
		Map<String, Object> datas = mapDatas.get(dataDefine.name());
		if (Lang.isEmpty(datas)) {
			return null;
		}
		Object obj = datas.get(name);
		if (Lang.isEmpty(obj)) {
			return null;
		}
		return Castors.me().castTo(obj, type);
	}

@Rekoe 能否给个完整的代码提示,代码不全,谢谢您

@Rekoe DataDefine dataDefine = type.getAnnotation(DataDefine.class); 这里面的DataDefine.class在哪里获取的

添加回复
请先登陆
回到顶部