Java泛型概念如何定义及其实际运行机制是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计924个文字,预计阅读时间需要4分钟。
本文实例讲述了Java泛型概念、定义与运行方法。分享给家长与参考,具体如下:
泛型,即泛化类型,允许在定义类、接口或方法时指定一个或多个类型参数。这样,可以在不具体指定具体类型的情况下,为不同的数据类型提供相同的处理逻辑。
泛型定义:- 泛型类:在类名后添加尖括号,内部使用类型参数。- 泛型接口:在接口名后添加尖括号,内部使用类型参数。- 泛型方法:在方法名前添加尖括号,内部使用类型参数。
泛型运行方法:- 类型擦除:编译器会将泛型类型参数替换为Object类型,在运行时无法获取泛型信息。- 类型通配符:使用?表示未知类型,用于处理泛型集合中的元素类型不确定的情况。
例如,泛型类List允许在定义时指定元素类型T,从而实现不同数据类型的存储和处理。泛型接口Comparable定义了比较两个T类型对象的接口,泛型方法void printArray(T[] arr)可以接受任意类型的数组并打印其元素。
总结:泛型是Java编程语言的一项重要特性,它提供了更灵活、安全的编程方式。通过泛型,可以避免在编写代码时重复处理不同数据类型,提高代码复用性和可维护性。
本文实例讲述了Java泛型的概念、定义与运行方法。分享给大家供大家参考,具体如下:
一 点睛
所谓泛型,就是允许在定义类、接口的时候指定类型形参(类型的形式参数的简称),这个类型形参将在声明变量、创建对象时确定,即传入实际的类型参数,也称类型实参,这实际上就是将数据类型参数化。泛型可以用来定义泛型类、泛型方法和泛型接口。
二 代码
class Base<T> { T m; Base( T t ) { m = t; } public void print() { System.out.println("base print : " + m); } } public class test { public static void main( String[] args ) { Base<String> base = new Base<String>("bb"); // 标准表示法 Base<String> base1 = new Base("aa"); //兼容老版本,但不安全,会给出警告 Base<String> base2 = new Base<>("cc"); // 菱形表示法 base.print(); base1.print(); base2.print(); } }
三 直接用IDEA运行
base print : bb
base print : aa
base print : cc
四 在命令行运行
E:\Java\IDEA_Java\src>javac test.java
注: test.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
E:\Java\IDEA_Java\src>dir
驱动器 E 中的卷是 Study
卷的序列号是 E6E8-2BFB
E:\Java\IDEA_Java\src 的目录
2019/06/22 18:53 <DIR> .
2019/06/22 18:53 <DIR> ..
2019/06/22 18:53 791 Base.class
2019/06/22 18:53 405 test.class
2019/06/22 18:51 463 test.java
3 个文件 1,659 字节
2 个目录 31,193,993,216 可用字节
E:\Java\IDEA_Java\src>java test
base print : bb
base print : aa
base print : cc
五 说明
不要用兼容老版本的写法,这是不安全的。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
本文共计924个文字,预计阅读时间需要4分钟。
本文实例讲述了Java泛型概念、定义与运行方法。分享给家长与参考,具体如下:
泛型,即泛化类型,允许在定义类、接口或方法时指定一个或多个类型参数。这样,可以在不具体指定具体类型的情况下,为不同的数据类型提供相同的处理逻辑。
泛型定义:- 泛型类:在类名后添加尖括号,内部使用类型参数。- 泛型接口:在接口名后添加尖括号,内部使用类型参数。- 泛型方法:在方法名前添加尖括号,内部使用类型参数。
泛型运行方法:- 类型擦除:编译器会将泛型类型参数替换为Object类型,在运行时无法获取泛型信息。- 类型通配符:使用?表示未知类型,用于处理泛型集合中的元素类型不确定的情况。
例如,泛型类List允许在定义时指定元素类型T,从而实现不同数据类型的存储和处理。泛型接口Comparable定义了比较两个T类型对象的接口,泛型方法void printArray(T[] arr)可以接受任意类型的数组并打印其元素。
总结:泛型是Java编程语言的一项重要特性,它提供了更灵活、安全的编程方式。通过泛型,可以避免在编写代码时重复处理不同数据类型,提高代码复用性和可维护性。
本文实例讲述了Java泛型的概念、定义与运行方法。分享给大家供大家参考,具体如下:
一 点睛
所谓泛型,就是允许在定义类、接口的时候指定类型形参(类型的形式参数的简称),这个类型形参将在声明变量、创建对象时确定,即传入实际的类型参数,也称类型实参,这实际上就是将数据类型参数化。泛型可以用来定义泛型类、泛型方法和泛型接口。
二 代码
class Base<T> { T m; Base( T t ) { m = t; } public void print() { System.out.println("base print : " + m); } } public class test { public static void main( String[] args ) { Base<String> base = new Base<String>("bb"); // 标准表示法 Base<String> base1 = new Base("aa"); //兼容老版本,但不安全,会给出警告 Base<String> base2 = new Base<>("cc"); // 菱形表示法 base.print(); base1.print(); base2.print(); } }
三 直接用IDEA运行
base print : bb
base print : aa
base print : cc
四 在命令行运行
E:\Java\IDEA_Java\src>javac test.java
注: test.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
E:\Java\IDEA_Java\src>dir
驱动器 E 中的卷是 Study
卷的序列号是 E6E8-2BFB
E:\Java\IDEA_Java\src 的目录
2019/06/22 18:53 <DIR> .
2019/06/22 18:53 <DIR> ..
2019/06/22 18:53 791 Base.class
2019/06/22 18:53 405 test.class
2019/06/22 18:51 463 test.java
3 个文件 1,659 字节
2 个目录 31,193,993,216 可用字节
E:\Java\IDEA_Java\src>java test
base print : bb
base print : aa
base print : cc
五 说明
不要用兼容老版本的写法,这是不安全的。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。

