java有界类型参数的使用

  • 时间:
  • 9635人关注

java有界类型参数的使用:1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。2、通过修改泛型方法包含这个有界类型参数。3、除对可用于实例化泛型类型的类型进行限制外,还允许调用在边界中定义的方法。,另外这篇文章主要知识点是关于java、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

参考资料

  • 《JavaScript权威指南(原书第7版)》源代码
  • JavaScript权威指南(第六版/英文版)
  • Java 语言程序设计(第二版)
  • 轻量级Java EE企业应用实战
  • JavaScript数据可视化编程
  • 内容介绍

    给大家整理一篇不错的Java文章,觉得有用就收藏了,把错误代码改掉了,希望大家能有所收获。

    java有界类型参数的使用

    1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。

    public class Box<T> {
     
        private T t;          
     
        public void set(T t) {
            this.t = t;
        }
     
        public T get() {
            return t;
        }
     
        public <U extends Number> void inspect(U u){
            System.out.println("T: " + t.getClass().getName());
            System.out.println("U: " + u.getClass().getName());
        }
     
        public static void main(String[] args) {
            Box<Integer> integerBox = new Box<Integer>();
            integerBox.set(new Integer(10));
            integerBox.inspect("some text"); // error: this is still String!
        }
    }

    2、通过修改泛型方法包含这个有界类型参数。由于我们在调用inspect时还使用了String,因此编译将失败。

    Box.java:21: <U>inspect(U) in Box<java.lang.Integer> cannot
      be applied to (java.lang.String)
                            integerBox.inspect("10");
                                      ^
    1 error

    3、除对可用于实例化泛型类型的类型进行限制外,还允许调用在边界中定义的方法。

    public class NaturalNumber<T extends Integer> {
     
      private T n;
     
      public NaturalNumber(T n)  { this.n = n; }
     
      public boolean isEven() {
        return **n.intValue()** % 2 == 0;
      }
     
      // ...
    }

    以上就是java有界类型参数的使用,希望对大家有所帮助。

    相关内容

    • Java数组有length方法吗

      java中数组有没有length()方法,求数组的长度可以使用数组的length属性。 1 Java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性. 2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法. 3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看! 如果有元素,都是从1开始

      11-13java中数组的length是方法吗

      阅读更多
    • 介绍Java源码解析阻塞队列ArrayBlockingQueue功能

      今天小编就为大家分享一篇关于Java源码解析阻塞队列ArrayBlockingQueue功能简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

      02-03Java源码解析阻塞队列ArrayBlockingQueue功能简介

      阅读更多
    • Java问题排查工具单总结

      这篇文章主要介绍了超详细的Java 问题排查工具单,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

      05-25Java 问题排查工具单

      阅读更多
    • 深入理解java volatile关键字作用及使用场景

      在本文里我们给大家分享的是关于java volatile关键字作用及使用场景的相关知识点内容,需要的朋友们学习下。

      02-03java volatile关键字作用及使用场景详解

      阅读更多
    • Java实现快速排序原理分析

      今天小编就为大家分享一篇关于Java实现快速排序过程分析,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

      06-17Java实现快速排序过程

      阅读更多

    学习笔记

    唐恬然

    java设计模式笔记之装饰模式

    一、装饰模式的定义 装饰模式是一种比较常见的模式,其定义如下:Attach additional responsibilities to an object dynamically keeping the same interface.Decorators provide a flexible alternative to subclassing for extending functionality.(动态地给一个对象添加额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活) 装饰模式的通用类图如图: Component抽象构件:Component是一个接口或者是抽象类,就是定义我们……

    赖凌香

    servlet基础知识_动力节点Java学院整理

    Servlet是一门专门用于开发动态web资源的技术,Sun公司在其API中提供了一个Servlet接口(当然,我们不会去直接实现这个接口,而是去继承其实现类会更好),因此,狭义的Servlet是指这个接口,广义的Servlet是指任何实现了这个Servlet接口的类。 使用Servlet开发一个动态web资源,其实就是开发一个Java程序向浏览器输出数据。 Servlet其实就是一个运行在服务器上得Java程序,Servlet是J2EE十三门……