java有界类型参数的使用

  • 更新时间:2021-07-28 08:00:03
  • 编辑:吕奇思
给大家整理了相关的编程文章,网友高鸿卓根据主题投稿了本篇教程内容,涉及到java相关内容,已被184网友关注,内容中涉及的知识点可以在下方直接下载获取。

参考资料

正文内容

给大家整理一篇不错的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实现即时通信的完整步骤分享

    这篇文章主要给大家介绍了关于java实现即时通信的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2021-05-02

  • 武汉Java培训价格在什么范围

    Java培训课程学费是许多想要学习Java的同学所关注的重点问题,准确的培训费用取决于报班学习的城市,而是更为关注他们能不能学到过硬的技能并找到好的工作,紧跟大厂技术,汲取前沿技术,保证每一位学员学到的都是最新的技术,一站式的教学服务,我们为学员提供一站式的教学服务,就业指导老师四位老师为学员提供周到服务,从而为学员在校安心学习

    发布时间:2021-07-02

用户留言