当前位置: 首页 > 知识库问答 >
问题:

集合.stream()的Java8 IntStream不兼容返回类型

连坚白
2023-03-14
private class BitSetExt extends BitSet implements Set<Integer>

谢谢你的帮助。

共有1个答案

吉和同
2023-03-14

自Java8以来,BitSet有一个方法声明为

IntStream stream()

并且set 有一个同名的方法,声明为

Stream<Integer> stream()

由于这些方法具有相同的名称,但返回类型不兼容,因此不可能同时扩展BitSet和实现Set。

public Set<Integer> asSet();
 类似资料:
  • 问题内容: 我正在学习Java。我试图运行代码,但出现此错误:。它向我显示错误的代码部分。 为什么会这样呢? 问题答案: 这是因为在类中不能有两个具有相同名称但返回类型不同的方法。 子类不能使用与返回类型不同的超类中已经存在的方法相同的名称声明方法。 但是,子类可以声明具有与超类相同的签名的方法。我们称此为“覆盖”。 你需要这个 要么 一个好的做法是通过注释标记覆盖的方法:

  • 我应该如何更改getPhoneNumber内部的代码才能正确工作,有什么想法吗?这是我最后应该得到的+38(050)123-45-67。38是国家代码,这是电话号码501234567,但你必须在数字开头放零才能得到10个类似于这里的数字(>0<50) 完整的代码。

  • 问题内容: 当我尝试编译时,它给了我错误 我应该如何解决这个问题? 问题答案: 该错误是由于以下事实导致的:调用将是不明确的- 应该调用两种方法中的哪一种?从JLS§8.4.2开始: 在类中声明两个具有重写等效签名的方法是编译时错误。 方法的返回类型不是其签名的一部分,因此根据上述说明,您将收到错误。 假设您不能简单地重命名冲突的方法,在这种情况下就不能使用继承,并且需要使用诸如compositi

  • 我试图通过对象属性NodeID排序一个对象,这是一个长类型。 有什么方法可以通过对象属性NodeID对PeerNode的ArrayList进行排序吗??

  • 在使用Spark和Docker分发操作时,我遇到了类型不匹配的问题。我遵循的教程似乎很清楚。下面是我对Scala代码的尝试: build.sbt是这样的: Dockerfile取自此图,并稍加修改,以使用Spark的2.3.0版: 码头工人作曲。yml也很简单: 我将git repo克隆到文件夹中,只将Spark的版本更改为2.3.0。 最后,我用胶水粘合所有东西: 来制造脂肪罐 将jar提交到集

  • 我定义了这个类: 在其他地方,在具有此签名的函数中: 我尝试返回新的ActorMapper(),但javac抱怨: 我可以投射它,它工作得很好,但为什么不能编译呢。有人能帮我吗?:)