------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------
1、HashMap对应泛型的使用
HashMap<String,Integer> maps =new HashMap<String,Integer>();
maps.put("lisi",23);
maps.put("wangwu",25);
maps.put("xiaoliu", 24);
Set<Map.Entry<String,Integer>>entrySet = maps.entrySet();
for(Map.Entry<String,Integer> entry :entrySet){
System.out.println(entry.getKey() + ":"+entry.getValue());
}
泛型的应用:
1、//1、编写一个泛型方法,自动将Object类型的对象转换成其他类型
Object obj = "abc";//1、
String x = autoConvert(obj);
private static<T> T autoConvert(Object obj) {//前面一个《T>是为了说明后面的T是泛型
return (T)obj;
}
2、//定义一个方法,可以将任意类型的数组中的所有元素填充为相应类型的某个对象。
private static<T> void fillArray(T arr[],Tobj){
for(int x=0;x<arr.length;x++){
arr[x] = obj;
}
}
3、通配符与自定义泛型方法的不同使用示例
//通配符的使用使用,?通配符可以引用其他各种参数化的类型,?通配符定义的变量主要用作引用,可以调用与参数化无关的方法,不能调用与参数化有关的方法。
public static void printCollection(Collection<?>collection){
System.out.println(collection.size());
for(Object obj : collection){
System.out.println(obj);
}
}
//采用自定泛型方法的方式打印出任意参数化类型的集合中的所有内容。
public static <T> voidprintCollection2(Collection<T> collection){
System.out.println(collection.size());
for(Object obj : collection){
System.out.println(obj);
}
}
4、泛型定义在类与泛型定义在方法上的区别
public class GenericDao<E> {
public void add(E x){
}
public E findById(int id){
return null;
}
publicclass GenericDao {
public <T> void add(T x){
}
public <T> T findById(int id){
return null;
}
}
泛型的反射使用示例
1、ArrayList<String> collection1 =
new ArrayList();
//通过反射实现这句话collection1.add("abc");
Constructor<String>constructor1=String.class.getConstructor(StringBuffer.class);
constructor1.newInstance(new StringBuffer("abc"));
2、通过反射返货实际参数的类型-Date示例
public static void applyVector(Vector<Date> v1){
}
MethodapplyMethod = GenericTest.class.getMethod("applyVector",Vector.class);
ParameterizedType pType =(ParameterizedType)applyMethod.getGenericParameterTypes()[0];
System.out.println(pType.getRawType());//获取原始类型class java.util.Vector
System.out.println(pType.getActualTypeArguments()[0]);//返回表示此类型实际类型参数的 Type 对象的数组。class java.util.Date
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! -------------
详情请查看:http://edu.csdn.net/heima/
分享到:
相关推荐
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1491352
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490705
day02_Collection、泛型 day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda表达式 day08_File类、递归 day09_字节流、字符流...
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....
JAVA设计模式--程序设计--反射--注解--泛型
spring-data-jdbc-repository, Spring Data JDBC泛型DAO实现 Spring Data JDBC泛型DAO实现查看正在积极开发和维护的 jirutka/spring-data-jdbc-repository fork 。 不再支持这里存储库。本项目的目的是为基于 ...
Java试题-3:反射和泛型的综合应用 Java反射 泛型都是比较高级的应用技术
java泛型使用的视频,讲的不错,可以学习学习
例如,假设您有以下配置:假设前面的bean实现了一个泛型接口(即存储和存储),您可以@Autowire存储接口并将泛型用作限定符,如下面的示例所示:// <St
反射和泛型是一种重要的解决途径。 此代码是一个生成泛型对象的类。 比如: Pool<Point> pool = new Pool(){}; Point p = pool.get(x, y); //在此构造Point对象 ... pool.put(p); 希望能帮助那些为查找泛型构造器、...
java学习课件,供参考学习使用
泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是...
基于Java的源码-java多线程反射泛型及正则表达式学习笔记和源码.zip
gomacro - 具有REPL,Eval,泛型和类似Lisp宏的交互式Go解释器和调试器
泛型 反射 概念 方法 使用
Java中的泛型 JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。这说明Java已经有大幅度的变化。本文将讲解JDK5.0支持的新功能-----Java的泛型. 1、Java泛型 其实Java的泛型就是创建一个用类型...
对java泛型以及反射机制进行原理和应用上的讲解,帮助初学者对这两个概念进行更轻松的掌握
Java 反射与泛型教程 资源为视频教程资源 希望对你的 Java 学习有所帮助。
DataReader反射泛型实体对象。数据库已有。完整的例子。
一个泛型子类继承一个泛型父类时,子类泛型参数传值给父类泛型参数 Son--Father 4; 定义子类时子类泛型参数给定占位符,同时父类泛型参数可以赋值 public class Son,Y>:Father,string> 5:一个泛型子类继承一个...