当前位置: 首页 > 面试题库 >

Java泛型-这两个方法声明是否等效?

昝阳嘉
2023-03-14
问题内容

给定一些类SomeBaseClass,这两个方法声明是否等效?

public <T extends SomeBaseClass> void myMethod(Class<T> clz)

public void myMethod(Class<? extends SomeBaseClass> clz)

问题答案:

对于呼叫者:是的,它们是等效的。

对于方法中的代码:否。

不同之处在于,在第一个示例的代码中,您可以使用类型T(例如,保存由创建的对象clz.newInstance()),而在第二个示例中,您不能使用类型T。



 类似资料:
  • 问题内容: 我已经看到了下面的方法声明,但是我不知道如何和正在使用。 是什么在这个方法呢? 是什么在这个方法呢? 问题答案: 回想一下,在Java中,所有方法都必须在一个类中,因此该方法将在某种类中,比如说“ Clazz”。 表示绝对可以从类外部访问此方法。 表示当您调用此方法时,不需要从特定对象调用它,而是可以仅使用类名来调用它。因此,您可以通过键入而不是使用作为对象实例创建的特定对象来调用co

  • 问题内容: 主要问题: 我用两种不同的方式定义相同的模型。为什么会得到不同的结果?它们似乎是相同的模型。 第二个问题(在下面回答)如果再次运行代码,则会再次得到不同的结果。我已经在开始时设置了种子以修复随机性。为什么会这样呢? 第一次,输出为: 第二次,输出为: 阅读答案后更新: 通过以下答案,我的问题之一已得到解答。我将代码的开头更改为: 而且,现在我得到的数字与以前相同。因此,它是稳定的。但是

  • 本文向大家介绍Java比较两个List的值是否相等的方法,包括了Java比较两个List的值是否相等的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java比较两个List的值是否相等的方法。分享给大家供大家参考。具体如下: 假设两个队列 {1,2,3,4} 和 {4,3,2,1} ,这个方法用来比较这两个队列中包含的值是否相等 希望本文所述对大家的java程序设计有所帮助。

  • 问题内容: 我是java泛型的新手,我的问题是: 在上面的语句中,当函数的返回类型为void时,为什么我们以前使用过?为什么此语法有效? 根据理论,方法本身可以是返回类型吗? 我的参考程序是 问题答案: 在这里没有什么做的返回类型; 这意味着这是一个通用函数,可以采用各种类型的数组。为了更容易理解,代码可能是这样的: 所以它告诉函数 “有一个通用类型,您接受的数组,因此,例如,如果我用您接受的通用

  • 两次尝试在下面的MyTest类中传递我的泛型类。Strategy层次结构看起来不错,但是用泛型接口作为参数声明方法有问题。我该如何解决这个问题? Test1编译错误:类型策略中的方法setNode(capture#1-of?extends Node)不适用于参数(NodeImpl) 测试2编译错误:MyTest类型中的方法test2(策略)不适用于参数(MyStrategy) MyTest类是继承

  • 我试图理解为什么编译器无法解析方法调用。我希望总是选择,因为由于的上限而永远不能匹配。 如果不适用,即使单独使用(如)所示),那么唯一的选择肯定是,这将是一个非歧义的重载。 为什么调用不明确,尤其是当和调用本身不是有效的解析时? 上面代码的可运行示例:https://www.jdoodle.com/ia/kqp