为什么在泛型类(Java)的构造函数中提供类型参数是错误的?

2024-03-17

我刚刚从一本教科书中学习 Java 中的泛型,其中讨论了一个类GenericStack<E>实施与ArrayList<E>.

因为为了创建字符串堆栈,您使用

GenericStack<String> = new GenericStack<String>()

or

GenericStack<String> new GenericStack<>()

因此不应该的构造函数GenericStack被定义为public GenericStack<E>(), or public GenericStack<>()?答案是不。它应该被定义为public GenericStack().

为什么是这样?显然,构造函数可以轻松地从类声明中推断出类型,但考虑到 Java 的冗长,我有点困惑为什么<E>或者简单地<>形式主义在这里彻底破除了。


这有两个部分:

  1. 为类定义给出的泛型类型参数在类本身中可用。

  2. 您可以拥有特定于各个方法(包括构造函数)的泛型类型。

看下面的例子:

package snippet;

import java.util.ArrayList;

public class Y<E> extends ArrayList<E> {

    public <T> Y(T t) {
    }
}

作为类型E可供全班同学使用,类型T仅在构造函数内有效。

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

为什么在泛型类(Java)的构造函数中提供类型参数是错误的? 的相关文章

  • 防止 Spring Boot 注册 Spring Security 过滤器之一

    我想禁用安全链中的 Spring Security 过滤器之一 我已经看到了防止 Spring Boot 注册 servlet 过滤器 https stackoverflow com questions 28421966 prevent s
  • 在哪里可以获得有关 Java FitNesse 和 Slim 的一些教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 哪个 Swing 布局管理器可以获得我想要的布局?

    我正在尝试按照这个模型制作一个基本的登录菜单 我决定将整个菜单放入 JPanel 中 以便在连接成功后我可以切换到另一个面板 所以我决定使用 Borderlayout 将标题放在北区 将连接按钮放在南区 我将边框布局的中心本身设置为面板 我
  • 将过滤器添加到 Eclipse 中的 Project Explorer

    我想向 Project Explorer 添加一个新的过滤器 以向用户隐藏一些在 Eclipse RCP 应用程序中自动创建的项目 到目前为止我已经找到了两个扩展点 org eclipse ui ide resourceFilters 允许
  • 正则表达式获取字符串中的第一个数字和其他字符

    我是正则表达式的新手 想知道如何才能只获取字符串中的第一个数字 例如100 2011 10 20 14 28 55 在这种情况下 我希望它返回100 但该数字也可以更短或更长 我在想类似的事情 0 9 但它单独获取每个数字 100 2001
  • 如何拦截 REST 端点以接收所有标头?

    我当前的代码是 Path login RequestScoped public class LoginResource GET SecurityChecked public Response getUser HeaderParam AUTH
  • 定期更新 SWT 会导致 GUI 冻结

    Problem 当 GUI 字段定期更新时 SWT 会冻结 我想要一个基于 SWT 的 GUI 其中文本字段的值会定期递增 最初我从单独的线程访问 textField 导致抛出异常 线程 Thread 0 org eclipse swt S
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • Scala 的“神奇”函数列表

    在哪里可以找到 Scala 的 神奇 函数列表 例如apply unapply update etc 魔法函数是指编译器的某些语法糖使用的函数 例如 o update x y lt gt o x y 我用谷歌搜索了一些组合scala mag
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 如何将 arraylist 从 servlet 传递到 javascript?

    我通过在属性中设置数组列表并将其转发到 jsp 来从 servlet 传递数组列表 Servlet ArrayList
  • 如何在Java媒体框架中学习.wav持续时间?

    我正在尝试使用 java 媒体框架将 mov 文件与 wav 文件合并 因此我需要知道它们的持续时间 我怎样才能做到这一点 任何想法 将不胜感激 您可以使用以下方式了解声音文件的持续时间 即 VitalyVal 的第二种方式 import
  • 接口中的构造方法

    接口中的构造方法不好吗 为什么人们认为有人想要实例化接口 我们想要做的是强制实现者实现构造函数 就像其他接口方法一样 接口就像一个合同 假设我有一个接口 Queue 并且我想确保实现者创建一个带有一个参数的构造函数 该构造函数创建一个单例队
  • Android Gradle 同步失败:无法解析配置“:classpath”的所有工件

    错误如下 Caused by org gradle api internal artifacts ivyservice DefaultLenientConfiguration ArtifactResolveException Could n
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 为什么这个私人浮动字段变为零?

    我有一些奇怪的行为 我很难向自己解释 称为 textureScale 的浮点字段变为零 如果某些代码正在更改该值 则可以解释这一点 然而 我希望能够通过将其设置为 私有最终浮点 来导致构建失败 或者至少是运行时异常 那么无论更改该值都将失败
  • 如何用表达式语言获取布尔属性?

    如果我有一堂这样的课 class Person private int age public int getAge return age public boolean isAdult return age gt 19 我可以得到age像这样
  • 防止Java实例化的正确方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 每次我们调用浏览器时,在 selenium 中使用 driver.manage().window().maximize() 是否好?

    We use driver manage window maximize 最大化浏览器 我在网上看到一些使用的例子driver manage window maximize 尽管不需要最大化浏览器 例如 gmail 登录 我还看到使用 se
  • Java、Spring、Hibernate找不到org.springframework.orm.hibernate3.LocalSessionFactoryBean

    我正在尝试制作 spring hibernate ant 项目 目前我收到此错误 HTTP Status 500 type Exception report message description The server encountere

随机推荐

  • 是否有准备好搜索文本框上的“清除”按钮?

    我想在应用程序的搜索文本框中添加一个清除按钮 是否有现成的 Ajax 扩展器或 JQuery 功能来实现它 提前致谢 没有任何现成的东西 但是很容易创建这样的东西 不需要额外的 HTML 一些 CSSmagic和 jQuery 来绑定事件
  • 如何在 Netbeans 中重新排序自动生成的方法?

    例如 当使用 Netbeans 的功能从 GUI 生成事件处理程序时 虽然生成的方法的主体是可编辑的 但我找不到更改类代码中生成的方法的顺序的方法 生成的代码不允许进行剪切和粘贴 我该怎么做呢 非常感谢 在 Netbeans 中您无法做到这
  • 如何验证 Laravel 5.4 单选按钮?

    如何在 Laravel 5 4 中验证我的单选按钮 div class radio div
  • 如何通过代理通过 POP 或 IMAP 获取电子邮件?

    poplib 或 imaplib 似乎都不提供代理支持 尽管我尝试了 google fu 但我找不到太多有关它的信息 我正在使用 python 从各种支持 imap pop 的服务器获取电子邮件 并且需要能够通过代理来完成此操作 理想情况下
  • 如何在Django中从html或js访问环境变量

    这里使用设置环境变量 os environ setdefault DJANGO SETTINGS MODULE myapp settings 我想在 UI 中显示一些值 有什么方法可以从中访问值DJANGO SETTINGS MODULE
  • Laravel 查询构建器返回对象还是数组?

    我正在使用 Laravel 构建一个非常简单的网络应用程序 我构建了两个单独的控制器 每个控制器返回两个单独的视图 如下所示 配置文件控制器 class ProfileController extends BaseController pu
  • 条件查询(搜索表单)的性能注意事项

    我经常发现存储过程的代码如下 SELECT columns FROM table source WHERE Param1 IS NULL OR Column1 LIKE Param1 AND Param2 IS NULL OR Column
  • 在 switch case 语句中使用方法

    我想知道在 switch 情况下是否可以使用 contains 等方法 我正在尝试将以下 if 语句放入 switch case 中 String sentence if sentence contains abcd do command
  • 负数组索引

    我有一个指针 定义如下 A b 按如下方式访问它会做什么 A c b 1 是否因为我们对数组使用负索引而导致访问冲突 或者是类似的合法操作 b EDIT请注意 负数组索引在 C 和 C 中具有不同的支持 因此 this https stac
  • 与 virtualenvs 和 Python 包的混淆

    在我的 python 程序中 使用 python3 5 由 virtualenv 运行 我需要使用 Pillow 库来处理图像 导入错误 没有名为 Pillow 的模块 告诉我 Pillow 没有安装在 virtualenv 中 但是 当我
  • Python的hashlib.sha256(x).hexdigest()相当于Rs摘要(x,algo =“sha256”)

    我不是Python程序员 但我正在尝试将一些Python代码转换为R 我遇到问题的Python代码是 hashlib sha256 x hexdigest 我对此代码的解释是 该函数将使用 sha256 算法计算 x 的哈希值并返回十六进制
  • 在 Dataflow Python flex 模板中包含另一个文件 ImportError

    是否有一个包含多个文件的 Python Dataflow Flex 模板示例 其中脚本导入同一文件夹中包含的其他文件 我的项目结构是这样的 pipeline init py main py setup py custom py 我正在尝试将
  • 按代码排序列表,然后按名称排序

    我有一个对象列表 我通过编写以下行按代码对此列表进行排序 Result Sort delegate Position p1 Position p2 return p1 Code CompareTo p2 Code 但我想首先按代码排序此行
  • @InjectMocks 之后为空

    在使用 JUnit 进行单元测试时 我在传递依赖项时遇到了一些麻烦 考虑这些代码 这是对我想要测试的类的依赖注入 我们称之为控制器 Inject private FastPowering fastPowering 这是单元测试 RunWit
  • 将gradle多项目转换为springboot fat jar应用

    我有一个 http servlet 应用程序多项目分级构建 我的项目是一个包含gradleHttpServlet 项目它依赖于其他两个 gradle java 项目 我将所有 3 个 jar 部署在tomcat webapps Web IN
  • toDataURL HTML5 获取画布数据的其他方式存在问题?

    我正在使用画布预先绘制图片 然后需要使用 Canvas toDataURL 将其保存到图像对象 但在 Chrome 上 我收到错误 未捕获的安全错误 无法在 HTMLCanvasElement 上执行 toDataURL 受污染的画布可能不
  • 我正在使用依赖注入:我应该将哪些类型绑定为单例?

    关于单例是否 不好 以及应该使用什么模式存在很多问题 他们通常关注单例设计模式 其中涉及从类的静态方法中检索单例实例 这不是这些问题之一 自从几个月前我真正 发现 依赖注入以来 我一直在推动它在我们团队中的采用 随着时间的推移从我们的代码中
  • read.csv() - 三列中的两列[重复]

    这个问题在这里已经有答案了 可能的重复 只读取 R 中有限数量的列 https stackoverflow com questions 5788117 only read limited number of columns in r 我有一
  • 使用 A* JPS 进行 3D 搜索

    我该如何概括跳转点搜索 http harablog wordpress com 2011 09 07 jump point search 3D 搜索量 到目前为止 我已经定义了涉及三个运动的 3D 立方体的修剪规则 直线 0 0 1 一阶对
  • 为什么在泛型类(Java)的构造函数中提供类型参数是错误的?

    我刚刚从一本教科书中学习 Java 中的泛型 其中讨论了一个类GenericStack