Java 中的泛型用法是什么? X.方法()

2023-12-23

我读完了整本 SCJP6 书 Sierra 和 Bates 的书,考试得分为 88%。

但是,我仍然没有听说过这种代码是如何工作的,因为它在泛型章节中没有解释:

Collections.<TimeUnit>reverseOrder()

这种泛型的用法是什么? 我在一些代码中发现了它,但从未阅读过任何相关内容。 在我看来,它可以为类型推断提供一些帮助。 我尝试过搜索相关内容,但并不容易找到(甚至 SCJP 书籍/考试中也没有!)

那么有人可以给我一个关于它如何工作的正确解释吗?所有用例等等?

Thanks


Edit感谢您的回答,但我期望更多详细信息:)所以如果有人想添加一些额外的信息:

更复杂的情况比如

  • 使用类中声明的类型,我可以做类似的事情吗Collections.<T>reverseOrder()例如?
  • Using extends, super?
  • Using ?
  • 仅向编译器提供部分帮助(即O.manyTypesMethod<?,MyHelpTypeNotInfered,?,?,?,?,?>() )

它是泛型方法的显式类型规范。您始终可以这样做,但在大多数情况下不需要这样做。但是,在某些情况下,如果编译器无法自行推断泛型类型,则需要这样做。

请参阅结尾处的示例教程页面 http://docs.oracle.com/javase/tutorial/java/generics/genmethods.html.

Update:只有第一个例子是有效的。显式类型参数必须是显式的,所以没有通配符,extends or super那里是允许的。此外,要么显式指定每个类型参数,要么不指定任何类型参数;即显式类型参数的数量必须与被调用方法的类型参数的数量匹配。类型参数,例如T如果在当前范围内定义良好,则允许,例如作为封闭类的类型参数。

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

Java 中的泛型用法是什么? X.方法() 的相关文章

  • JDK 文档是语言规范的一部分吗?

    只有一名官员Java语言规范 https docs oracle com javase specs jls se8 html index html所有 Java 实现都必须遵守它 API文档怎么样 所有Java实现都需要遵守吗这个版本 ht
  • createImage(int width, int height) 的问题

    我有以下代码 作为游戏的一部分每 10 毫秒运行一次 private void gameRender if dbImage null createImage returns null if GraphicsEnvironment isHea
  • 如何在 Antlr4 中为零参数函数编写语法

    我的函数具有参数语法 如下面的词法分析器和解析器 MyFunctionsLexer g4 lexer grammar MyFunctionsLexer FUNCTION FUNCTION NAME A Za z0 9 DOT COMMA L
  • Java:在 eclipse 中导出到 .jar 文件

    我正在尝试将 Eclipse 中的程序导出到 jar 文件 在我的项目中 我添加了一些图片和 PDF s 当我导出到 jar 文件时 似乎只有main已编译并导出 我的意愿是如果可能的话将所有内容导出到 jar 文件 因为这样我想将其转换为
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 通往楼梯顶部的可能路径

    这是一个非常经典的问题 我听说谷歌在他们的面试中使用过这个问题 问题 制定一个递归方法 打印从楼梯底部到楼梯顶部的所有可能的独特路径 有 n 个楼梯 您一次只能走 1 步或 2 步 示例输出 如果它是一个有 3 级楼梯的楼梯 1 1 1 2
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • org.hibernate.QueryException:无法解析属性:文件名

    我正在使用休眠Criteria从列中获取值filename在我的桌子上contaque recording log 但是当我得到结果时 它抛出异常 org hibernate QueryException 无法解析属性 文件名 com co
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 生成的序列以 1 开头,而不是注释中设置的 1000

    我想请求一些有关 Hibernate 创建的数据库序列的帮助 我有这个注释 下面的代码 在我的实体类中 以便为合作伙伴表提供单独的序列 我希望序列以 1000 开头 因为我在部署期间使用 import sql 将测试数据插入数据库 并且我希
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • Java实现累加器类,提供Collector

    A Collector具有三种通用类型 public interface Collector
  • Freemarker 和 Struts 2,有时它计算为序列+扩展哈希

    首先我要说的是 使用 Struts2 Freemarker 真是太棒了 然而有些事情让我发疯 因为我不明白为什么会发生这种情况 我在这里问是因为也许其他人有一个想法可以分享 我有一个动作 有一个属性 说 private String myT
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • QuerySyntaxException:无法找到类

    我正在使用 hql 生成 JunctionManagementListDto 类的实际 Java 对象 但我最终在控制台上出现以下异常 org hibernate hql internal ast QuerySyntaxException
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • 是否可以使用 Java Guava 将函数应用于集合?

    我想使用 Guava 将函数应用于集合 地图等 基本上 我需要调整 a 的行和列的大小Table分别使所有行和列的大小相同 执行如下操作 Table
  • 将 Apache Camel 执行器指标发送到 Prometheus

    我正在尝试转发 添加 Actuator Camel 指标 actuator camelroutes 将交换 交易数量等指标 发送到 Prometheus Actuator 端点 有没有办法让我配置 Camel 将这些指标添加到 Promet
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数

随机推荐

  • 使用 Python 填充 CSV 中的空位

    我正在解析 csv 文件来创建图表 我能够毫无问题地执行此操作 除非在单个情况下 每当 csv 文件中存在空槽时 例如 科尔1 科尔2 科尔3 科尔4 科尔545 34 23 98 1866 25 018 52 56 100 文件中的第 2
  • 如何在MinGW中使用Windows API?

    如何使用视窗应用程序接口 http en wikipedia org wiki Windows API in MinGW http en wikipedia org wiki MinGW 每当我这样做的时候 我只是 include
  • 日语和中文中 unicode 代码点的不同表示

    我正在尝试显示与 unicode 0x95E8 对应的字形 该代码点基本上是 CJK 块 中文 日语 韩语 我很难知道这个特定代码点的字形表示对于日语和中文是否可能不同 当我在 JTextArea 中显示 U 95E8 时 我能够在 lin
  • 调整横向内容 UITableviewcell 的大小

    我正在 iPhone SDK 中开发一个应用程序 我想在设备处于横向模式时调整 tableviewcell 的内容大小 在我的 tableviewcell 中 我有一个同步图像和两个标签 在纵向模式下 它看起来非常漂亮 但是当我将设备转向横
  • 如何创建工作区

    我们如何在 Visual Studio Code 中创建工作区 I see File菜单命令用于打开 添加文件夹和保存工作区 但没有用于创建工作区的命令 问题如何在 Visual Studio Code 中创建工作区 https stack
  • GCP 负载均衡器后端状态未知

    我惊呆了 我有一个暂存和生产环境 两种环境具有相同的部署 服务 入口 防火墙规则 并且都服务于200 on 但是 在打开登台环境并配置相同的入口后 登台服务失败并显示Some backend services are in UNKNOWN
  • 无法使用 pg_dump 将表复制到另一个数据库

    我正在尝试将表从一个数据库复制到另一个数据库 不是架构 我在终端中使用的代码如下 pg dump U postgres t OldSchema TableToCopy OldDatabase psql U postgres d NewDat
  • mac 找不到捆绑命令

    我正在使用 ruby 我得到了一个包含一些 ruby 程序的 zip 文件 它说 在文件夹内 运行bundle install安装所需的软件包 当我在终端中运行命令时 它说bundle command not found 有人可以给我详细说
  • 如何将字符串拆分为单词列表?

    如何拆分句子并将每个单词存储在列表中 例如 these are words these are words To split on other delimiters see Split a string by a delimiter in
  • Django - 连续发送输出

    我想开始从 django 视图处理一些文件 并且希望能够在处理文件时将文件名发送到浏览器 有没有办法 简单地 做到这一点 我可能可以使用线程和 ajax 调用来做到这一点 但我现在想要最简单的解决方案 我在一个中找到了我需要的东西answe
  • 在 SceneKit 中,bake 做了什么

    What is the purpose of bake option in SceneKit editor Does it have an impact on performance Type 提供 2 个选项 Ambient Occlus
  • Firebase实时数据库(根据UID获取其他用户信息)与REST

    我有一个使用 Firebase 实时数据库创建的应用程序 并且创建了一些用户 所有用户都使用此处找到的 REST 方法 https firebase google com docs reference rest auth https fir
  • Apache 每个请求都会生成一个线程,而 Node.js 不会,这是什么意思?

    我读过有关node js 和其他服务器 例如Apache 的信息 它们的线程是不同的 我根本不明白线程是什么意思 如果我有一个运行 SQL 来访问数据库的网页 例如一个服务器端页面中的三个不同数据库 这对于 Node js 中的线程意味着什
  • 如何使 DateTimePicker 显示空字符串?

    我希望能够显示一个DateTimePicker它的默认值是空的 即没有日期 例如 我有一个开始日期dtTaskStart和结束日期dtTaskEnd对于任务 但结束日期未知 并且最初未填充 我已经指定了自定义格式yyyy MM dd对于两个
  • 有没有任何工具或技术可以识别打开的结果集

    在 java 应用程序的上下文中使用SQLIte http www sqlite org 为了保存数据 我正在使用Zentus http www zentus com sqlitejdbc JDBC 驱动程序 因此我正在使用java sql
  • 在另一个项目中使用 GKE 中的 Google 容器注册表

    GKE 集群如何从另一个项目托管的容器注册表中提取容器映像 我的项目中有一个 GKE 集群
  • 在 UITableView 中加载图像 url swift 2 的最佳方法

    我想使用 swift 2 创建一个带有图像链接列表的 Ui TableView 例如 var images link1 link2 linkN 我创建一个自定义单元格来显示图像 let cell tableView dequeueReusa
  • 用于在 S3 事件上触发 Lambda 的 Cloudformation 模板

    我想使用 Cloudformation 创建一个 S3 存储桶 每当发生 S3 事件 例如文件创建 文件删除等 时 该存储桶就会触发 Lambda 函数 根据我的研究 我有我的AWS Lambda 函数 http docs aws amaz
  • 将 JSON 响应转换为 List

    我是 GSON 的新手 我需要将以下 JSON 响应转换为列表 JSON 响应 data data ac id 000 user id 000 title AAA data ac id 000 user id 000 title AAA 我
  • Java 中的泛型用法是什么? X.方法()

    我读完了整本 SCJP6 书 Sierra 和 Bates 的书 考试得分为 88 但是 我仍然没有听说过这种代码是如何工作的 因为它在泛型章节中没有解释 Collections