所需类型与找到类型相同

2024-03-08

我想做这个:

    Foo<String> foo = new Foo<>();
    Foo<String>.Bar fooBar = foo.new Bar();

    fooBar.doSomething("this works!");

但是单行中的前两行如下:

Foo<String>.Bar fooBar2 = new Foo<>().new Bar();
fooBar2.doSomething("The above line gives: incompatible types. Required: Foo.Bar Found: Foo.Bar");

但第一行失败了。我得到:

不兼容的类型。

必需:Foo.Bar

发现:Foo.Bar

这是为什么?

public class Foo<T> {


    public class Bar extends SomeOtherClass<T> {

        public void doSomething(T t) {

        }

    }

}

最后一堂课:

public class SomeOtherClass<T> {
}

在某些情况下,Java 无法很好地处理类型推断(当人们认为它应该处理时)。这是其中一种情况。

如果您显式地将类型传递给new调用,它将编译:

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

所需类型与找到类型相同 的相关文章

  • 如何在 IDEA Intellij 上使用 Spring-boot 自动重新加载

    我写了一个基于Spring boot tomcat freemarker的项目 我运行成功 但是每当我修改一些模板和java类时 我必须重新启动服务器或使用Intellij上的 重新加载更改的类 菜单才能使更改生效 浪费很多时间 然后我尝试
  • 在 jTextfield 中禁用“粘贴”

    我有一个用 Swing awt 编写的应用程序 我想阻止用户将值粘贴到文本字段中 有没有办法在不使用动作监听器的情况下做到这一点 您可以使用 null 参数调用 setTransferHandler 如下所示 textComponent s
  • 对象数组的数组(二维数组)JNI

    我正在努力创建自定义对象类型 ShareStruct 的二维数组 jobjectArray ret jobjectArray ins jobjectArray outs jclass myClass env gt FindClass env
  • 最快的高斯模糊实现

    如何以最快的速度实施高斯模糊 http en wikipedia org wiki Gaussian blur算法 我要用Java来实现它 所以GPU http en wikipedia org wiki Graphics processi
  • 查询 MongoDB 集合中的字段。

    我正在尝试查询 mongodb 集合中的特定字段 这是我的代码和输出 Mongo m new Mongo DB db m getDB mydb DBCollection coll db getCollection student addin
  • Java 卡布局。多张卡中的一个组件

    一个组件 例如JLabel 在多张卡中使用CardLayout 目前看来该组件仅出现在它添加到的最后一张卡上 如果有办法做到这一点 我应该吗 这是不好的做法吗 或者有其他选择吗 你是对的 它只出现在 添加到的最后一张卡 中 但这与CardL
  • 本地开发的 Azure Functions 扩展包版本问题

    我有一个带有队列触发器的 Java 11 Azure 函数 该函数在部署到 Azure 时按预期工作 并正确从定义的服务总线主题中提取消息 但是 运行相同的功能locally除非我回滚版本 否则不起作用Azure Functions 绑定扩
  • 在哪里保存选项值、重要文件的路径等[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在创建一个程序 需要设置一些选项值以及图像文件的一些路径 SQLite 数据库的路径 有关各种按钮上文本的一些信息 有关要使用哪个数据库的信
  • 无法访问“不安全”java方法的java表达式语言

    我正在开发一个项目 让用户向服务器提交小 脚本 然后我将执行这些脚本 有很多脚本语言可以嵌入到Java程序中 例如mvel ognl uel clojure rhino javascript等 但是 据我所知 它们都允许脚本编写者调用Jav
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 为什么这些类型参数不符合类型细化?

    为什么此 Scala 代码无法进行类型检查 trait T type A trait GenFoo A0 S lt T type A A0 trait Foo S lt T extends GenFoo S A S 我不明白为什么 类型参数
  • 如何将 Java 地图转换为在 Scala 中使用?

    我正在开发一个 Scala 程序 该程序调用 Java 库中的函数 处理结果并生成 CSV 有问题的 Java 函数如下所示 Map
  • Java:SortedMap、TreeMap、可比较?如何使用?

    我有一个对象列表 需要根据其中一个字段的属性进行排序 我听说 SortedMap 和 Comparator 是实现此目的的最佳方法 我是否要与正在排序的类实现 Comparable 还是创建一个新类 如何实例化 SortedMap 并传入
  • 纱线上的火花,连接到资源管理器 /0.0.0.0:8032

    我正在我的开发机器 Mac 上编写 Spark 程序 hadoop的版本是2 6 spark的版本是1 6 2 hadoop集群有3个节点 当然都在linux机器上 我在idea IDE中以spark独立模式运行spark程序 它运行成功
  • JUNIT 测试 void 方法

    我有一个充满 void 方法的 java 类 我想进行一些单元测试以获得最大的代码覆盖率 例如我有这个方法 protected static void checkifValidElements int arg1 int arg2 metho
  • 在 Java 中创建 XML 文件的最佳方法是什么?

    我们目前使用 dom4j 来创建 XML 文件 不过 我猜现在有更好的东西了 如果我们使用的是 Java 1 6 或更高版本 那么在编写 XML 文件时最好使用什么类 运行速度最快 使用简单 我不需要构建一个 DOM 然后编写整个 DOM
  • Java 中 JButton 的击键/热键

    最初我使用 JMenu 并建立热键以使用加速器工作 它运行得很好 现在我想在 JButton 中实现相同的行为 但我陷入困境 这是我编写的代码 请分享您的想法 以便我可以走上正确的道路 import javax swing import j
  • 如何使用Gson仅从Json反序列化某些特定字段?

    我有以下 JSON 字符串 channel bvmt initValues data value instrumentIds TN0007250012 TN0007500010 instruments mnemonic ADWYA marc
  • java.lang.IllegalStateException - 提交响应后无法创建会话

    我在我的项目中使用 JSF PrimeFaces 我为此准备了一个Maven项目 当我编译项目并加载主页后 我收到以下异常 java lang IllegalStateException Cannot create a session af
  • 决策树和规则引擎 (Drools)

    In the application that I m working on right now I need to periodically check eligibility of tens of thousands of object

随机推荐

  • 具有多个参数的 MapStruct QualifiedByName

    我遇到过一种情况 我的映射方法有 3 个参数 并且所有这三个参数都用于派生目标类型的属性之一 我在接口中创建了一个默认映射方法 保留了派生属性的逻辑 现在为了调用此方法 我可以使用expression java method call he
  • 内存泄漏是否正常? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否可以接受内存泄漏 http en wikipedia org wiki Memory leak在您的 C 或 C 应用程序中 如果您分配一些
  • evp_crypt 在 c 中的 for 循环中不起作用

    我是新来的 如果我做错了什么 请原谅 我尝试使用加密字符串创建一个数组 我使用 EVP API 进行加密 这工作正常 但是当我尝试在 foo 循环中使用加密函数时 控制台没有给我任何信息 这是我的加密函数 char encrypt char
  • 如何在 Python 中压缩字符串

    我正在制作一个 python 脚本 将字符串发送到 Web 服务 在 C 中 我需要压缩或压缩这个字符串 因为带宽和 MB 数据是有限的 是的 大写 因为它非常有限 我正在考虑将其转换为文件 然后压缩该文件 但我正在寻找一种直接压缩字符串的
  • 为什么 Backbone Collection fetch 不返回承诺

    下面的示例代码运行良好 Auth controller prototype isLogged function Check if the user is authenticated var getAuthStatus this auth m
  • IE10 中本地存储的访问被拒绝

    昨天我安装了 Windows 8 现在试图了解为什么我在访问本地存储时收到 访问被拒绝 消息 该页面与浏览器 http localhost 位于同一台 PC 上 我的感觉是IE 10中的一项安全设置是错误的 但我还没弄清楚是哪一项 触发错误
  • 将 html 附加到指令中的元素并创建一个与其交互的本地函数

    在我的 AngularJS 应用程序中 我到处都有不同的复杂输入 例如 某些输入具有使用 Google Places 自动完成功能或 Twitter Bootstrap 自动完成功能的指令 我正在寻找一种方法来制作一个指令 当我们添加一些文
  • 使用箭头键浏览 JButton

    我做了一个JButton数组 代表卡片 共有 16 张 4 4 我怎样才能在其中浏览JButton使用键盘上的箭头而不是鼠标 我如何 单击 JButton按 ENTER 键而不是单击鼠标 也许有另一种方法可以做到这一点而不是使用JButto
  • 将 root 中的默认 python 更改为 anaconda 的 python

    我已经在我的系统中安装了 python 2 7 并且还安装了 Anaconda 现在 我正在使用 python 的 anaconda 它运行得很好 不幸的是 我想使用anaconda的python来使用root运行 问题是我无法更改 roo
  • 仅允许接下来的 5 个工作日 jquery datepicker

    我有一个日期选择器 用于设置约会 唯一的问题是老板希望预约日期仅限于接下来的 5 个工作日 我知道如何禁用周末 但我有点不清楚如何做到这一点 以便如果我选择周三 它可以让我选择下周三之前的日期并考虑周末 有人对如何实现这一目标有任何想法吗
  • 无法使用完成处理程序进行抛出操作

    我正在尝试添加一个throws使用完成处理程序添加到我现有的函数 但我不断收到警告说no calls throwing functions occur within try expression 在我抛出错误的部分中 我收到一条错误消息 从
  • 使用 UIBezierPath 绘制圆角

    我有一个设计元素无法弄清楚 希望有人能够指出我正确的方向 我试图构建的元素是这样的 实际上 它是一个圆角矩形 在左侧 顶部和右侧都有描边 底部应该没有描边 我尝试过使用以下代码 Create the rounded rectangle le
  • 如何优化这个 GORM 查询

    我有一个查询 它进行 2 个数据库查询 我是 GORM 的新手 不知道如何使用条件 where 子句或其他内容将其优化为 1 个查询 我也使用 springsecurity 并有一个用于登录安全的 User 类 我有一个带有 User 对象
  • 在特定时间后台获取

    我正在寻找即使应用程序终止也能在后台模式下获取数据的解决方案 对于这个问题有很多教程和答案 但我的问题与其他问题不同 我在 stackoverflow 上没有找到任何合适的解决方案 所以发布了这个问题 我有一个可以解释的场景 我正在使用存储
  • Nhibernate:以相同的精度和小数位映射所有小数

    据我了解 在 NHibernate 中 使用代码映射 我可以指定小数属性的精度和小数位数 如下所示 Property x gt x Dollars m gt m Precision 9 m Scale 6 这很好 但我想知道是否有一种方法可
  • Clojure 的动态变量和绑定的实际用途是什么?

    我看了一下参考资料 http clojure org vars Vars 20and 20the 20Global 20Environment http clojure org vars Vars 20and 20the 20Global
  • 如何在 Ubuntu 16 中下载 Appium 桌面

    我正在尝试在 Ubuntu 16 中下载 Appium Desktop 到目前为止我只是使用终端来运行它 据我所知 对于 Ubuntu 我必须下载他们在 git 上的源代码版本 源代码 tar gz 而不是他们的 exe windows 或
  • 在C中使用枚举类型变量作为字符串的简单方法?

    这就是我想做的 typedef enum ONE TWO THREE Numbers 我正在尝试编写一个函数来执行类似于以下内容的 switch case char num str 10 int process numbers str Nu
  • 为具有抽象复杂类型的模式生成类

    我正在使用一些定义抽象复杂类型的模式 例如
  • 所需类型与找到类型相同

    我想做这个 Foo