iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java有界类型参数的实例用法
  • 516
分享到

java有界类型参数的实例用法

2024-04-02 19:04:59 516人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

java有界类型参数的使用 1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。 public class Box<T> {

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;
  }
 
  // ...
}

知识点扩展:

当我们希望对泛型的类型参数的类型进行限制的时候(好拗口), 我们就应该使用有界类型参数(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有界类型参数的使用的文章就介绍到这了,更多相关java有界类型参数的使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: java有界类型参数的实例用法

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

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

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

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

下载Word文档
猜你喜欢
  • java有界类型参数的实例用法
    java有界类型参数的使用 1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。 public class Box<T> {...
    99+
    2024-04-02
  • java中如何使用有界类型参数
    这篇文章给大家介绍java中如何使用有界类型参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界。public cla...
    99+
    2023-06-20
  • java中有界类型参数如何使用
    java中有界类型参数如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java有界类型参数的使用为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键...
    99+
    2023-06-20
  • 使用指向类型参数的指针创建泛型类型的实例
    php小编鱼仔在这篇文章中将介绍如何使用指向类型参数的指针来创建泛型类型的实例。泛型是一种在编程中广泛应用的概念,它允许我们在不指定具体类型的情况下编写通用的代码。在php中,虽然没有...
    99+
    2024-02-09
  • Python中函数的参数类型实例分析
    今天小编给大家分享一下Python中函数的参数类型实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、Python的函...
    99+
    2023-07-02
  • 有没有办法约束(通用)类型参数?
    php小编柚子探讨了一个常见问题:有没有办法约束(通用)类型参数?在PHP中,我们经常需要对函数或方法的参数进行类型约束,以确保传入的参数满足特定的类型要求。然而,对于通用类型参数,如...
    99+
    2024-02-09
  • php数组的类型和实例用法
    本篇内容主要讲解“php数组的类型和实例用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数组的类型和实例用法”吧!  数组是一个能在单个变量中存储多个值...
    99+
    2024-04-02
  • C#类型参数约束的应用方法有哪些
    本篇内容主要讲解“C#类型参数约束的应用方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#类型参数约束的应用方法有哪些”吧!C# 类型参数约束使用的原因:如果要检查泛型列表中的某个项以...
    99+
    2023-06-17
  • 无法对类型参数值使用类型断言
    在PHP编程中,类型断言是一种常用的技术,用于确定变量的类型。然而,有时候我们可能会遇到一个问题:无法对类型参数值使用类型断言。这个问题可能让一些开发者感到困惑。在本文中,我们将探讨这...
    99+
    2024-02-09
  • 如何使用泛型 Go 实例化类型参数的非零指针?
    php小编西瓜将为您介绍如何在Go语言中使用泛型实例化类型参数的非零指针。在Go语言中,泛型是一种强大的特性,可以增加代码的灵活性和重用性。当我们需要在泛型函数或方法中实例化一个非零指...
    99+
    2024-02-11
    go语言 排列
  • PHP 函数参数类型的合法值
    php 函数参数类型的合法值包括:1. 数组,2. 布尔,3. 可调用方法,4. 浮点数,5. 整数,6. 对象,7. 资源,8. 字符串。例如,myfunction(int $numb...
    99+
    2024-04-19
    参数类型 类型检验
  • PHP 函数参数类型的最佳实践有哪些?
    php 函数参数类型最佳实践包括:清晰定义类型提示,明确函数参数的预期类型。使用严格的类型限制,如 int、float 和 string,避免泛型类型。使用可选参数,使用默认值或 类型...
    99+
    2024-04-11
    php 参数类型 代码可读性
  • javascript中有哪些参数类型转换的方法
    javascript中有哪些参数类型转换的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供...
    99+
    2023-06-14
  • mysql参数实例用法
    本篇内容介绍了“mysql参数实例用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! mysql>...
    99+
    2024-04-02
  • Java中参数传递类型的定义
    本篇内容介绍了“Java中参数传递类型的定义”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先看定义:值传递,是指方法接收的是调用者提供的值...
    99+
    2023-06-17
  • Java中String类常用类型实例总结
    目录1.创建字符串的方法1.1构造1.2引用对象 2.字符串的比较3.字符串的不可改变性4.数组转字符串 5.判断是否是数字字符串  isNumberChar(  ) 6....
    99+
    2024-04-02
  • java泛型类型的调用和实例化介绍
    本篇内容主要讲解“java泛型类型的调用和实例化介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java泛型类型的调用和实例化介绍”吧!1、泛型调用类似于普通方法调用,但你不是把参数传递给方法...
    99+
    2023-06-20
  • C#调用Windows API之参数类型的示例分析
    小编给大家分享一下C#调用Windows API之参数类型的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C#调用Windows API之参数类型1、数值...
    99+
    2023-06-18
  • PHP 函数参数类型的替代方法
    替代 php 函数参数类型提示的替代方法包括:使用类型标量以指定函数参数的期望类型。使用文档块来声明函数注释中的类型提示。使用参数对象来将多个不同类型参数打包到一个对象中。 PHP 函...
    99+
    2024-04-19
    php 函数参数类型
  • Java的大数型BigInteger与BigDecimal类实例分析
    这篇文章主要讲解了“Java的大数型BigInteger与BigDecimal类实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的大数型BigInteger与BigDecima...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作