首页编程java编程java 什么时候用泛型,Java基础知识总结:什么时候用泛型类

java 什么时候用泛型,Java基础知识总结:什么时候用泛型类

编程之家2023-10-12111次浏览

大家好,java 什么时候用泛型相信很多的网友都不是很明白,包括Java基础知识总结:什么时候用泛型类也是一样,不过没有关系,接下来就来为大家分享关于java 什么时候用泛型和Java基础知识总结:什么时候用泛型类的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

java 什么时候用泛型,Java基础知识总结:什么时候用泛型类

java是什么时候开始支持泛型的(generics)

java从5.0版本开始支持泛型的

所谓的1.4,1.5,5.0说法当然5.0是更科学的了!

5.0就意味着jdk内核做了更多的调整,和前一个版本的差距就会很大,不光是性能上的,打开jdk源码看一下不难发现很多东西都做了调整!就想IO来说吧,很多方法底层都使用了NIO!并且对很多时间的处理机制都进行了从新设计

java 什么时候用泛型,Java基础知识总结:什么时候用泛型类

java中什么是泛型,怎么用泛型

这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中:

1:什么是泛型?

泛型就是广泛的类型,也是一种数据类型,而这种数据类型可以是任意类型,编写过程中当中不能确定类型,创建对象时必须指定具体类型,不指定也可以,但是会出现一些错误。

java 什么时候用泛型,Java基础知识总结:什么时候用泛型类

泛型是编译器行为,只能在编译期有效,如果能够跨过编译器,那么泛型就没有任何意义了。

2、泛型类

怎么定义泛型类?

在类后面加<>,<>中可以编写任意长度任意字符,不能是数值。(一般用26个大写英文字母表示)

泛型类<具体类型>变量名= new泛型类<>();

3.怎么使用泛型

有以下几种使用场景以及放在那种位置

泛型只能定义引用数据类型,而不能使用基本数据类型

泛型类、泛型方法、泛型接口、泛型通配符

例如:作用在类上时( public class Animal<E>{ E pet;}),泛型跟在类后边,可以指定用了泛型的类内部的 pet的类型。

作用在对象上时( Animal<Dog> str= new Animal<Dog>();),泛型跟在类后边,使得对象类的的 pet属性为 Dog类型。

java中为什么要使用泛型

Java语言中引入泛型是一个较大的功能增强。

泛型好处:

1,类型安全。泛型的主要目标是提高 Java程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。

2,消除强制类型转换。泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。

3,潜在的性能收益。泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译器这一事实,为未来版本的 JVM的优化带来可能。由于泛型的实现方式,支持泛型(几乎)不需要 JVM或类文件更改。所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换)时所写的代码,更能确保类型安全。

Java基础知识总结:什么时候用泛型类

当类中的操作的引用数据类型不确定的时候,以前用的Object来进行扩展的,现在可以用泛型来表示。这样可以避免强转的麻烦,而且将运行问题转移到的编译时期。

----------------------------------------------------------

泛型在程序定义上的体现:

//泛型类:将泛型定义在类上。

class Tool{

private Q obj;

public void setObject(Q obj){

this.obj= obj;

}

public Q getObject(){

return obj;

}

}

//当方法操作的引用数据类型不确定的时候,可以将泛型定义在方法上。

publicvoid method(W w){

System.out.println("method:"+w);

}

//静态方法上的泛型:静态方法无法访问类上定义的泛型。如果静态方法操作的引用数据类型不确定的时候,必须要将泛型定义在方法上。

public static void function(Q t){

System.out.println("function:"+t);

}

//泛型接口.

interface Inter{

void show(T t);

}

class InterImplimplements Inter{

public void show(R r){

System.out.println("show:"+r);

}

}

java 什么时候用泛型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java基础知识总结:什么时候用泛型类、java 什么时候用泛型的信息别忘了在本站进行查找哦。

白马非马出自 白马非马出自诸子百家哪家java模板是什么(如何创建 Java 项目模板)