iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >java中有界类型参数如何使用
  • 488
分享到

java中有界类型参数如何使用

2023-06-20 17:06:12 488人浏览 安东尼
摘要

java中有界类型参数如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java有界类型参数的使用为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键

java中有界类型参数如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

java有界类型参数的使用

为了声明一个有界类型参数,列出类型参数的名称,然后是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!    }}

通过修改泛型方法包含这个有界类型参数。由于我们在调用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

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

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

知识点扩展:

当我们希望对泛型的类型参数的类型进行限制的时候(好拗口), 我们就应该使用有界类型参数(Bounded Type Parameters). 有界类型参数使用extends关键字后面接上边界类型来表示, 注意: 这里虽然用的是extends关键字, 却不仅限于继承了父类E的子类, 也可以代指显现了接口E的类. 仍以Box类为例:

public class Box<T> {    private T obj;    public Box() {}    public T getObj() {        return obj;    }    public void setObj(T obj) {        this.obj = obj;    }    public Box(T obj) {        super();        this.obj = obj;    }    public <Q extends Number> void inspect(Q q) {        System.out.println(obj.getClass().getName());        System.out.println(q.getClass().getName());    }}

我加入了public <Q extends Number> void inspect(Q q){...}方法, 该方法的泛型只能是Number的子类.

 Box<String> b = new Box<>(); b.setObj("Hello"); b.inspect(12); b.inspect(1.5); // b.inspect(true); // 编译出错

关于java中有界类型参数如何使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: java中有界类型参数如何使用

本文链接: https://www.lsjlt.com/news/298888.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中如何使用有界类型参数
    这篇文章给大家介绍java中如何使用有界类型参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。public cla...
    99+
    2023-06-20
  • java中有界类型参数如何使用
    java中有界类型参数如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java有界类型参数的使用为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键...
    99+
    2023-06-20
  • java有界类型参数的实例用法
    java有界类型参数的使用 1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。 public class Box<T> {...
    99+
    2024-04-02
  • 如何使用反射提取类型参数
    问题内容 上下文:我正在编写一个通用自动映射器,它采用两种类型的结构,检查所述结构的每个字段是否有给定的标签,然后将值从源结构复制到目标结构,假设它们具有匹配的标签和类型。每当结构字段...
    99+
    2024-02-12
    overflow
  • Java中如何使用复杂数据类型
    本篇文章为大家展示了Java中如何使用复杂数据类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java复杂数据类型用法 (转)[@more@]同简单数据类型的定义一样,Java虚拟机(JVM)还定...
    99+
    2023-06-03
  • PHP 函数参数的类型注解如何使用?
    php函数参数类型注解可用于指定函数参数的预期数据类型。好处包括:1.提高代码可读性;2.增强可维护性;3.提升安全性。 PHP 函数参数类型注解 类型注解是一种在 PHP 函数参数中...
    99+
    2024-04-10
    php 类型注解 代码可读性
  • Python中有哪些参数类型
    本篇文章为大家展示了Python中有哪些参数类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均...
    99+
    2023-06-14
  • 如何在Java和JavaScript中使用数据类型?
    随着计算机科学的不断发展,数据类型的概念已经成为了编程中不可或缺的一部分。Java和JavaScript是两种广泛使用的编程语言,它们都有自己的数据类型系统。在本文中,我们将探讨如何在Java和JavaScript中使用数据类型。 Java...
    99+
    2023-08-26
    javascript 数据类型 关键字
  • 如何在java中使用泛型类
    如何在java中使用泛型类?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系...
    99+
    2023-06-15
  • Java中如何使用不同数据类型的数组,Apache有何优势?
    数组是编程中常用的数据结构之一,它可以用来存储多个同类型的数据。在Java中,我们可以使用不同数据类型的数组,包括整型、字符型、布尔型、浮点型等等。本文将介绍Java中如何使用不同数据类型的数组,并探讨Apache的优势。 一、Java中...
    99+
    2023-11-03
    数据类型 数组 apache
  • 如何在Apache中使用Java函数的数据类型?
    Apache是一个流行的开源软件基金会,提供了许多开源工具和库,其中包括许多与Java有关的工具和库。在本文中,我们将介绍如何在Apache中使用Java函数的数据类型。 首先,让我们来了解一下什么是Java函数的数据类型。Java是一种强...
    99+
    2023-08-16
    函数 数据类型 apache
  • long数据类型如何在Java项目中使用
    这篇文章将为大家详细讲解有关long数据类型如何在Java项目中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在Java编程中经常遇到一些整数类型的使用问题,下面我们来看看长整形数据使用...
    99+
    2023-05-31
    java long ava
  • Java中参数传递类型的定义
    本篇内容介绍了“Java中参数传递类型的定义”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先看定义:值传递,是指方法接收的是调用者提供的值...
    99+
    2023-06-17
  • 无法对类型参数值使用类型断言
    在PHP编程中,类型断言是一种常用的技术,用于确定变量的类型。然而,有时候我们可能会遇到一个问题:无法对类型参数值使用类型断言。这个问题可能让一些开发者感到困惑。在本文中,我们将探讨这...
    99+
    2024-02-09
  • 如何使用 C++ 函数模板实现参数化类型?
    使用 c++++ 函数模板实现参数化类型简介函数模板可以处理不同类型的通用函数。参数化类型使函数模板更进一步,可以接受不同类型的参数。代码示例: 1. 定义函数模板 print_pai...
    99+
    2024-04-15
    函数模板 参数化类型 c++
  • 如何在Java中引用数据类型
    如何在Java中引用数据类型?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java中的引用数据类型:Java作为面向对象的语言,Java中所有用class,interfac...
    99+
    2023-05-31
    数据类型 ava java
  • Java中如何使用Apache库处理数组数据类型?
    Apache是一个非常流行的开源软件基金会,提供了许多优秀的库和工具来处理各种数据类型。在Java中,我们可以使用Apache库来处理数组数据类型。在本文中,我们将介绍如何使用Apache库来处理数组数据类型,并提供一些示例代码。 一、A...
    99+
    2023-11-03
    数据类型 数组 apache
  • Java数据类型如何定义与使用
    这篇“Java数据类型如何定义与使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java数据类型如何定义与使用”文章吧。标...
    99+
    2023-06-30
  • Spring开发中如何使用Java数据类型索引?
    Spring是一个非常流行的Java开发框架,它提供了丰富的API和工具,以帮助开发人员更快速、更高效地开发Web应用程序。在Spring开发中,使用Java数据类型索引是一项非常重要的技能。本文将介绍如何在Spring开发中使用Java数...
    99+
    2023-08-25
    数据类型 索引 spring
  • springmvc @RequestBody String类型参数的使用
    目录springmvc @RequestBody String类型参数springmvc用Map接收请求参数分析第一种情况,什么也不设置,无参数传递第二种情况,加个参数试试 =>...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作