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

Java中的无限制通配符

太叔栋
2023-03-14
问题内容

无界通配符(例如)<?>与界为Object(例如)的有界通配符之间是否有区别<? extends Object>

我记得在某处读到,泛型的早期草案有所不同,但现在找不到该来源了。


问题答案:

作为方法,如果class / interface / constructor / method声明了bound(不是extends Object),则有所不同。

interface Donkey<T extends Thing> { }

...
    Donkey<? extends Object> foo; // FAIL


 类似资料:
  • 我的尝试: 传递不是解决方案。 例如,MongoDB的可以将或作为无限制。 方法之间的这种不一致会导致不兼容,例如,一个接口带有方法和两个实现:in memory和MongoDB。 方法和中的一致性得到了保留。 或: 有更好的方法实现方法之间的一致性?

  • 问题内容: 我正在编写一个简单的调试程序,该程序将简单的字符串作为输入,其中可以包含星号以指示通配符匹配-任何 我以为我会简单地采用该模式,转义其中的任何正则表达式特殊字符,然后将其替换为。然后使用正则表达式匹配器。 但是我找不到任何Java函数来转义正则表达式。我能找到的最佳匹配,然而这正好将与在开始和字符串的结尾。 Java中有什么可以让您简单地进行通配符匹配而不必从头开始实现算法的? 问题答

  • 我有下面的地图 有时有一个列表,有时有一个集合作为值。现在我想获取值,但有一个问题,它无法编译。 我知道我可以这样做: 但我有兴趣了解它应该如何与通用getOrDefault方法一起工作

  • 在这个例子中:假设我需要一个selectionSort的版本,它可以使用调用方提供的外部可比性来处理任何类型T。 第一次尝试: 假设我有: 定义的车辆类别 创建VehicleComparator实现比较器,同时根据车辆的价格比较车辆。 创建的卡车扩展车辆 实例化卡车[]arr;VehicleComparator MyComparator 现在,我有: 这个宣言会起作用,但我不完全确定我一直在做什么

  • 问题内容: 我想设置一个最大长度,以使你输入的字符不能超过限制。这是我到目前为止的代码… 有什么简单的方法可以限制字符数? 问题答案: 你可以执行以下操作(从此处获取): 编辑:看看这个以前的SO职位。你可以拦截按键事件,并根据文本字段中的当前字符数添加/忽略它们。

  • 问题内容: 您好直接从Oracle http://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html提供的Java教程中 我知道编译时的类型擦除。而且我也知道,一个类型(无界)将被Object取代。知道在编译时如何使用无界通配符进行编译吗?只是删除它,因为它是原始类型? 提前致谢。 问题答案: 假设我们有一个