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

对java流使用collect and map时出现“不兼容类型”错误

淳于熙云
2023-03-14

我有这门课:

public class AirbnbListing {
...
private int price
...
public int getPrice() { return price; }

我试图使用java流从AirbnbListing对象的ArrayList中收集整数价格:

ArrayList<AirbnbListing> properties = dataParser.getNeighbourhoodProperties(neighbourhood, 0, -1, 0, "All");
ArrayList<Integer> prices =
    properties.stream()
        .map(AirbnbListing::getPrice)
        .collect(Collectors.toList());

但我得到了“不兼容类型:推断变量R有不兼容的边界”。不确定问题是什么。

共有1个答案

寿和通
2023-03-14

通过像这样传递参数来创建ArrayList

ArrayList<Integer> prices =
    properties.stream()
        .map(AirbnbListing::getPrice)
        .collect(Collectors.toCollection(ArrayList::new));//<------- this
 类似资料:
  • 嗨,我正在制作一个程序,该程序应该采用字母等级并将其转换为 GPA 值。程序的第一部分取了一个百分比并将其转换为字母等级,现在我正在尝试将转换后的字母等级转换为 int 值。我们只允许使用开关盒。但是,在执行此操作时,我发现一个不兼容的类型错误:java.lang.String required: int。不确定我需要更改什么,有什么帮助吗? 谢谢。

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

  • 我正在尝试创建一个查找器,它需要几个谓词并减少它们:

  • 我一直试图编译这个简单的警报对话框,以便在用户单击提交按钮时显示。编译代码时会弹出一条错误消息: 错误:(33,74)错误:不兼容的类型: 这个类叫做Login_Activity,它扩展了BaseActivity,它扩展了Activity。

  • 扫描器输入=新扫描器(System.in); }

  • 我正在尝试使用两个枚举通过2d数组创建一组卡片,然后打印所有创建的卡片。 以下是我正在尝试使用的枚举。 我认为应该发生的是,for循环通过卡遍历每个元素。适合values(),然后是Card。等级values()并根据其在阵列卡中的索引创建一张新卡(套装、等级)。 当我编译我的代码时,它会给出错误。 “Deck.java:42:错误:不兼容的类型:Suit无法转换为int 卡片【套装】【等级】=新