反射创建对象,创建泛型集合,创建泛型字典


 

 
  
  1. object obj = new object();  
  2.  
  3.             //反射创建普通对象  
  4.             object o = Activator.CreateInstance(obj.GetType());  
  5.  
  6.             //反射创建泛型集合  
  7.             Type generic = typeof(List<>);  
  8.             Type[] typeArgs1 = { obj.GetType() };  
  9.             generic=generic.MakeGenericType(typeArgs1);  
  10.             var list=Activator.CreateInstance (generic) as IList;  
  11.               
  12.             //反射创建泛型字典  
  13.             generic = typeof(Dictionary<,>);  
  14.             Type[] typeArgs2 = { typeof(string), obj.GetType() };  
  15.             generic = generic.MakeGenericType(typeArgs2);  
  16.             var dic = Activator.CreateInstance(generic) as IDictionary; 

 




本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/461962如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,我们可以使用泛型创建一个泛型对象。具体步骤如下: 1. 定义一个泛型类或者泛型方法,使用尖括号<>来表示泛型参数,例如: ```java public class GenericClass<T> { private T value; // getter 和 setter 方法 } ``` 2. 在创建泛型对象时,需要指定泛型参数的具体类型,例如: ```java GenericClass<Integer> intObj = new GenericClass<>(); intObj.setValue(100); System.out.println(intObj.getValue()); // 输出 100 ``` 在上面的代码中,我们使用尖括号<>来指定泛型参数的具体类型为Integer,然后调用无参构造函数创建了一个泛型对象intObj,之后使用setter方法将值设置为100,最后使用getter方法获取值并输出。 需要注意的是,在Java创建泛型对象时,尖括号<>中可以指定多个泛型参数,例如: ```java public class Pair<K, V> { private K key; private V value; // getter 和 setter 方法 } Pair<String, Integer> pairObj = new Pair<>(); pairObj.setKey("count"); pairObj.setValue(10); System.out.println(pairObj.getKey() + ": " + pairObj.getValue()); // 输出 count: 10 ``` 在上面的代码中,我们定义了一个泛型类Pair,其中有两个泛型参数K和V,分别表示键和值的类型,然后使用尖括号<>来指定泛型参数的具体类型为String和Integer。之后创建了一个泛型对象pairObj,使用setter方法将键和值设置为"count"和10,最后使用getter方法获取键和值并输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值