『壹』 java 泛型的几种用法
1. public class DAO<T> {
/**
* 泛型类
* 声明类的同时声明泛型类型
* 1.方法的返回值可以是使用声明的泛内型类型
* 2.方法的参数也可以是声明类的泛型类型
* 3.方法体内可以使用泛型类型
*/
public T get(Integer id){
return null;
}
public void save(T entity){
}
}
2.
/**
* 泛型方容法: 在方法声明时, 同时声明泛型. 在方法的返回值, 参数列表以及方法体中都可以使用泛型类型.
* public static <T> T get(Integer id){
* T result = null;
* return result;
* }
* 把指定类型的数组中的元素放入到指定类型的集合中
*/
『贰』 java中什么是泛型,怎么用泛型
最简单的运用:List<String> list = new ArrayList<String>();
这个是什么意思?
意思就是list只装String类型的数据,别的,装不进去
然后你版就会觉得这个好权像有点封装的意思,比如LIst<Student>,封装学生类
所以,所谓泛型就是广泛的数据类型,你可以把它理解成封装
『叁』 java 方法中如何在返回类型使用泛型
参考这段List克隆代码。返回内的容List<T>中T为入参的Class<T>
public static <S, T> List<T> List(List<S> source,Class<T> targetClass) {
if (CollectionUtils.isEmpty(source)) {
return new ArrayList<T>();
}
String json = JSON.toJSONString(source);
List<T> list = JSON.parseArray(json, targetClass);
return list;
}
『肆』 Java 泛型如何使用
public class Test<T> {
private T name;
public T getName() {
return name;
}
public void setName(T name) {
this.name = name;
}
public static void main(String[] args) {
Test<String> stringTest = new Test<String>();
stringTest.setName("aaa");
System.out.println(stringTest.getName());
Test<Integer> integerTest = new Test<Integer>();
integerTest.setName(1111);
System.out.println(integerTest.getName());
}
}
『伍』 Java中,怎麼在使用自己写的工具类时指定泛型T的类型
调用的时候传类型,公用的方法写T就行了或者不写。T只是占位置的。
『陆』 java中如何定义一个泛型函数
泛型(Generic type 或者 generics)是对Java语言的类型系统的一种扩展,以支持创建可以按类型进行参数化版的类。可以把权类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
定义泛型方法语法格式如下:
定义泛型方法时,必须在返回值前边加一个<T>,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。
Class<T>的作用就是指明泛型的具体类型,而Class<T>类型的变量c,可以用来创建泛型类的对象。
『柒』 Java中怎样使用泛型T类的方法
调用泛型方法语法格式如下publicclassExampleA{
public<T>voidf(Tx){
System.out.println(x.getClass().getName());
}
publicstaticvoidmain(String[]args){
ExampleAea=newExampleA();
ea.f("");
ea.f(10);
ea.f('a');
ea.f(ea);
}
}
输出结果:
java.lang.String
java.lang.Integer
java.lang.Character
ExampleA
使用泛型方法时,不必指明参数类型,编译器会自己找出具体的类型。泛型方法除了定义不同,调用就像普通方法一样。
需要注意,一个static方法,无法访问泛型类的类型参数,所以,若要static方法需要使用泛型能力,必须使其成为泛型方法。
『捌』 如何在Java程序中使用泛型
1 基本使用
publicinterfaceList<E>{
voidadd(E);
Iterator<E>iterator();
}
2 泛型与子类
Child是Parent的子类,List<Child>却不是List<Parent>的子类。
因此:List<Object> list = new ArrayList<String>()是错误的。
如果上面是正确的,那么:
List<String>ls=newArrayList<String>();//1
List<Object>lo=ls;//2
lo.add(newObject());//3
Strings=ls.get(0);//4,将object转换为string将失败。
Java基础教程:
『玖』 java 中如何调用泛型的方法
这种也使用泛型,就很难达到设计的意愿,维护起来也相对困难一些。
这要求不是泛型的使用,因为类型不确定,而是要使用反射的方法调用了。
『拾』 一个作业:利用java泛型读文件,把文件读出来后封装入泛型,成为一个新文件,这个文件具有增删改查功能。
public class Test<T> {
private T name;
public T getName() {
return name;
}
public void setName(T name) {
this.name = name;
}
public static void main(String[] args) {
Test<String> stringTest = new Test<String>();
stringTest.setName("aaa");
System.out.println(stringTest.getName());
Test<Integer> integerTest = new Test<Integer>();
integerTest.setName(1111);
System.out.println(integerTest.getName());
}
}
所谓泛型,就是变量类型的参数化。
泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小的抛出ClassCastException的可能。
在JDK1.5中,你可以声明一个集合将接收/返回的对象的类型。
使用泛型时如果不指明参数类型,即泛型类没有参数化,会提示警告,此时类型为Object。