通用扩展和实现

2023-11-26

我不明白为什么Company编译。我以为它检查了extends但不是为了implements?

public interface Employee

public class HourlyEmployee implements Employee

public class Company<T extends Employee>

Company<HourlyEmployee> company = new Company<>();

The extends泛型中的关键字与一般关键字的语义略有不同extends关键词。

使用时extends例如,在泛型的背景下T extends Something, 这意味着T应该是一个类型either实现接口Something(在以下情况下Something是接口),or是一个子类Something(以防万一Something是一个类)。

造成这种情况的原因可能是,如果implements泛型中支持关键字,这会使类型参数声明过于冗长。

例如,您将有:

<T extends SomeClass implements Serializable & Observable>

相反,有效的语法是:

<T extends SomeClass & Serializable & Observable>

而且你不需要拥有implements关键字,实际上。定义类型的边界时T,你只需要指出哪个types你的类型吗T派生自,而不关心它们是接口还是类。

类型定义不是类定义。您可以将类型定义视为连接几个数据集,其中结果集就是您的类型T.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通用扩展和实现 的相关文章

  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 带有 Android 支持库 v7 的 Maven Android 插件

    我使用 maven android plugin 构建我的 android 应用程序 它依赖于 android 支持库 v4 和 v7 由于我没有找到如何从developer android com下载整个sdk 因此我无法使用maven
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • 为什么 MOVE CURSOR 在 OS X Mountain Lion 上不显示?

    我正在做一个项目 想看看 Swing 提供的每个光标是什么样子的 public class Test public static void main String args JFrame frame new JFrame frame set
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • Rust 中的表达式模板实现类似于 boost::yap

    我正在尝试自学 Rust 作为一个具有挑战性的学习项目 我想复制 C 表达式模板库的设计模式提升 雅普 https www boost org doc libs 1 74 0 doc html yap html 我不需要一个完整的实现 我只
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 避免 Java 中的重复导入:继承导入?

    有没有办法 继承 导入 Example 常见枚举 public enum Constant ONE TWO THREE 使用此枚举的基类 public class Base protected void register Constant
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级
  • 基于 Spring Boot 的测试中的上下文层次结构

    我的 Spring Boot 应用程序是这样启动的 new SpringApplicationBuilder sources ParentCtxConfig class child ChildFirstCtxConfig class sib
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要

随机推荐

  • 安装 davfs2 卷时无法打开 docker 容器中的熔断器设备

    当我尝试在 docker 容器上挂载 davfs2 卷时遇到以下错误 geoserver 8e8091d97157 mount owncloud sbin mount davfs loading kernel module fuse sbi
  • 如何在Python中的for循环中删除列表元素? [复制]

    这个问题在这里已经有答案了 我有一个清单 a a b c d e 我想在 for 循环中删除此列表中的元素 如下所示 for item in a print item a remove item 但这不起作用 我能做些什么 不允许在使用 a
  • DDK“你好世界”

    如何开始为 Windows 编写驱动程序 是否有某种官方 DDK Hello World 示例 虽然我确信一开始这会超出我的想象 但最终我想创建一个简单的 MIDI 驱动程序 就像枫木虚拟 MIDI 电缆其中 MIDI 消息来自用户应用程序
  • 将 div 高度设置为父级的 100%

    我想要我的网页具有以下布局 header navigation details 其中导航窗格 动态生成的内容 包含数百个元素 我希望在导航窗格上创建一个垂直滚动条 以便该窗格的高度减去标题的高度 我的页面大致结构如下 div div div
  • 在 Mac OS X 上的 Docker 中启用远程 API (boot2docker)

    我似乎不知道如何在使用 boot2docker 时启用远程 API 我尝试按如下方式使用 dockerode Docker require dockerode docker new Docker socketPath var run doc
  • JVM 内存:为什么任务管理器上的内存与 JProbe(或 JConsole 工具)不同

    我面临的问题是我的应用程序使用的内存只有100MB 之后减少了50MB 但在窗口任务管理器上它显示150MB并且总是保持或增加但不减少 我们如何减少任务管理器上的内存 私人工作集 你所看到的JConsole 或其他监控工具 是java内存正
  • 为什么我似乎无法强制 Oracle 11g 为单个 SQL 查询消耗更多 CPU

    我有一些在巨大的表上运行的巨大查询 这些查询似乎存在 CPU 瓶颈 并且运行了数小时 据我所知 Oracle 在 11g 第 2 版中有很多新功能 可以在内部并行化查询的执行 然而 无论我在查询中添加何种提示 我似乎都无法在数据库框中使用超
  • 使用 python 从网页中提取所有链接

    在 Udacity 的计算机科学简介课程之后 我正在尝试制作一个 python 脚本来从页面中提取链接 下面是我使用的代码 我收到以下错误 NameError 名称 页面 未定义 这是代码 def get page page try imp
  • dicts 在 python 3 中不可排序?

    为什么字典在 python2 中是可排序的 但在 python3 中却不能 我在文档中找不到它 Python 3 3 4 default Feb 11 2014 16 14 21 gt gt gt sorted a a b b Traceb
  • mysqli 中的位标志使用 fetch_field_direct 意味着什么

    使用 mysqli 我可以获取有关字段的信息 如下所示 field mysqli fetch field direct result fieldCount 我可以使用从结果中获取字段标志 field gt flags PHP 手册说这会返回
  • ASP.NET MVC 2 RC 客户端验证不起作用

    我似乎无法在 MVC 2 RC 应用程序上进行任何客户端验证 我的模型有以下内容 public class ExampleModel Required ErrorMessage Test1 is required DisplayName T
  • 设置 Gradle 以在 Android Studio 中运行 Java 可执行文件

    所以事情是这样的 我使用的是 Android 版 ORMLite 它使用注释来在 Android 中进行映射 如您所知 Android 中的注释速度很慢 ORMLite 的开发者已经意识到这一点 因此他们添加了运行 java 可执行文件来生
  • 如何检查一个对象是列表还是元组(但不是字符串)?

    这是我通常所做的 以确定输入是list tuple 但不是str 因为很多次我偶然发现函数传递一个错误str错误地对象 并且目标函数确实for x in lst假如说lst实际上是一个list or tuple assert isinsta
  • Flutter Stack 更改深度

    我有一个带有 3 个定位小部件的堆栈 并且作为一个孩子有一个 GestureDetector 我可以拖动它们 但我也想在您单击它时将单击的那个带到前面 我尝试在父窗口小部件中调用更改状态 但这也交换了受影响的窗口小部件的位置 这是完整的示例
  • 将 jquery 对象链接/取消链接到元素

    我正在使用 jquery flowplayer 工具插件http flowplayer org tools tooltip html 1 我希望在用户单击某个元素时创建一个工具提示 2 当用户点击另一个元素时 旧的工具提示必须取消链接 删除
  • JavaScript 的简单(非安全)哈希函数? [复制]

    这个问题在这里已经有答案了 可能的重复 从 Javascript jQuery 中的字符串生成哈希 谁能建议一个用 浏览器兼容 JavaScript 编写的简单 即数十行代码 而不是数百行 哈希函数 理想情况下 我想要的东西是 当传递一个字
  • 用c#获取每个资源管理器窗口的路径

    我对 C 很陌生 我很无聊 有时我关闭一个窗口 几秒钟后我注意到我再次需要该窗口 并且重新打开 Windows 资源管理器并导航到该特定路径让我感到非常沮丧 所以我想创建一个小应用程序 允许我存储最后关闭的窗口的列表 使用快捷键可以一一恢复
  • MySQL 返回连接表的第一行

    我有两个表 国家和鸭子 其中国家 地区表包含世界上的每个国家 地区 鸭子表包含鸭子列表 其中包含用于链接到主要国家 地区的 Country id 字段 我正在尝试获取仅包含至少一只鸭子的国家 地区的列表 并从鸭子表中获取该国家 地区评价最高
  • Android - 单击一项后保持 ListView 的项目突出显示

    所以我有一个活动 2ListView小部件 当您在第一个小部件中选择一个值时 第二个小部件将填充与第一个小部件中的选择相关的值ListView 这个机制工作没有问题 但现在我希望用户选择保持突出显示 我已经阅读了大量与该主题相关的问题 似乎
  • 通用扩展和实现

    我不明白为什么Company编译 我以为它检查了extends但不是为了implements public interface Employee public class HourlyEmployee implements Employee