当前位置:首页 > java技术文章 > Java泛型的概念、定义与运行方法分析

深入理解Java泛型的概念、定义与运行方法

  • 发布时间:
  • 作者:码农之家原创
  • 点击:83

这篇文章主要知识点是关于Java、泛型、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

精通Java并发编程
  • 类型:Java大小:200.7 MB格式:PDF作者:哈维尔
立即下载

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程序设计有所帮助。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

推荐内容

idea2020注册激活码(激活到2100年)

实例分析Java实现的zip压缩及解压缩工具类

python3 pandas 如何读取MySQL数据和插入

ThinkPHP3.2.3框架如何实现分页功能

深入理解JS函数stack size计算方法

展开 +

收起 -

Java 相关电子书
学习笔记
网友NO.683204

详谈Java中的Object、T(泛型)、?区别

因为最近重新看了泛型,又看了些反射,导致我对Object、T(以下代指泛型)、?产生了疑惑。 我们先来试着理解一下Object类,学习Java的应该都知道Object是所有类的父类, 注意:那么这就意味着它的范围非常广! 首先记住这点,如果你的参数类型时Object,那么的参数类型将非常广! 《Thinking in Java》中说很多原因促成了泛型的出现,最引人注目的一个原因就是为了创造容器类。这个要怎么来理解呢?我的理解是,可以抛开这个为了创造容器类这个,而是回到泛型的目的是限定某种类型上来。 所以我们现在能小结一下Object和T很重要的两点区别就是: Object范围非常广,而T从一开始就会限定这个类型(包括它可以限定类型为Object)。 Object由于它是所有类的父类,所以会强制类型转换,而T从一开始在编码时(注意是在写代码时)就限定了某种具体类型,所……

网友NO.542998

实例分析Java泛型

泛型:即“参数化类型”,所操作的数据类型被指定为一个参数。该机制允许程序员在编译时检测到非法的类型。 不使用泛型与使用泛型的区别 不使用泛型代码: import java.util.ArrayList;import java.util.List;public class NoGenerics {public static void main(String[] args){List arrayList=new ArrayList();arrayList.add("1"); //字符类型arrayList.add(1); //数字类型for(int i=0;iarrayList.size();i++){String s=(String) arrayList.get(i); //强制转换,但无法转换为字符类型,且编译不报错System.out.println(s);}}} 使用泛型代码: import java.util.ArrayList;import java.util.List;public class Generics {public static void main(String[] args){ListString stringList = new ArrayListString();ListInteger integerList = new ArrayList(); //简化stringList.add("1");//stringList.add(1); //编译报错,只能添加字符类型integerList.add(1);//integerList.add("1"); //编译报错,只能添加数字类型for(int i=0;i……

网友NO.528731

Java泛型机制的程序演示详解

本文为大家分享了Java泛型机制的程序演示具体代码,供大家参考,具体内容如下 package packA;import java.util.*;public class GenericDemo { public static void main(String[] args) { TreeSetString ts = new TreeSetString( new LenSort() ); //String 泛型 ts.add("hidwju"); ts.add("kiesk"); ts.add("agueihrprute"); ts.add("ejmmjueloi"); ts.add("hidwdd"); ts.add("hefwju"); ts.add("agueuenerute"); ts.add("keesk"); IteratorString it = ts.iterator(); //在迭代器引用前加入泛型 while( it.hasNext() ) { String s = it.next(); //上面在取迭代器时,在引用前加了泛型声明,所以这里不需要强转 sop(s); } } public static void sop( Object obj ) { System.out.println(obj); System.out.println(); }}class LenSort implements ComparatorString { //实现接口Comparator String泛型 public int compare(String o1 , String o2) { //在函数头部声明了泛型,这里直接将形参定义为String类型即可,避免了在函数内部的向下转型 int ……

<
1
>

电子书 编程教程 文档 软件 源码 视频

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757