多线 lambda 比较器

2023-12-27

我从 Java 中的 lambda 表达式开始,有一些我认为很奇怪的东西,我确信我做错了什么或者它有解决方法。

要定义比较器,我可以这样做:

 col.setComparator((CustomCell o1, CustomCell o2) ->
            ((Comparable) o1.getValue()).compareTo(o2.getValue())
        );

然而,如果我只添加两个“{”,那就太好了。我收到编译错误:

 col.setComparator((CustomCell o1, CustomCell o2) -> {
            ((Comparable) o1.getValue()).compareTo(o2.getValue());
        });

该错误与“{”无关,而是与setComparator:

The method setComparator(Comparator<CustomCell>) in the type 
TableColumnBase<CustomParentCell,CustomCell> is not applicable for the arguments 
((CustomCell o1, CustomCell o2) -> {})

我之前尝试过对 actionevents 使用多行语句,它确实有效:

 setOnAction(event -> {
        // do something
 });

是因为它只有一个参数吗?


您正在实施的方法setOnAction is

public void handleEvent(ActionEvent event) ;

它的返回类型为void:即它不返回任何内容:

您正在实施的方法setComparator is

public int compare(CustomCell cell1, CustomCell cell2) ;

它返回一个值。要使用较长的形式,您必须为返回值的方法提供显式的 return 语句:

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

多线 lambda 比较器 的相关文章

随机推荐

  • CXF 客户端 SOAP 消息格式

    我用来创建 CXF 客户端的 WSDL 文件具有以下元素定义
  • 生成椭圆曲线密码学的椭圆曲线基点 ( G )

    如何在 Java 中生成椭圆曲线的基点或生成器 我正在开发一个 Java 包 可用于实现一些椭圆曲线加密算法 并且我想使用我自己的曲线 然而 我陷入了必须获得曲线的生成器基点的境地 以便我可以获得一组域参数 任何帮助深表感谢 给定 近素数
  • IRB 有哪些替代方案?

    在 python 世界中 有许多替代的 python 解释器添加了很酷的附加功能 bpython 是一个特别有用的示例 它添加了动态语法突出显示 自动提取文档并显示实时自动完成信息 在 Ruby 世界中 我还没有发现任何添加到基本 IRB
  • Github - 合并被阻止 - 基础分支要求所有提交都经过签名

    即使所有提交都已验证 Github 仍会阻止合并拉取请求 规则设置 选中 需要签名提交 和 包括管理员 有谁知道如何解决这个问题 这似乎只是 GitHub Web 界面的一个小故障 系统可以在内部验证签名 解决这个问题的技巧是使用 命令行指
  • 反转字典中键值对的顺序(Python)[重复]

    这个问题在这里已经有答案了 在Python中如何反转字典的键值对的顺序 例如 我有这本字典 a 1 b 2 c 3 我想反转它 以便它返回 c 3 b 2 a 1 有没有我没听说过的功能可以做到这一点 有些代码行也很好 字典没有任何顺序感
  • 为什么写入变量会改变其范围?

    采取以下代码示例 var True def func1 if var print True else print False var True func1 这打印True正如人们所期望的那样 但是 如果我取消注释 var True 我收到错
  • 启动 Oracle SQL*Plus 时 TNS 协议适配器错误

    每当我尝试登录 SQLPlus 11g 标准版 Windows 64 时 我都会收到与某些连接错误相关的错误 我尝试以 sys 作为 sysdba 登录并提供密码 所有服务都启动了 我使用的是 Windows 7 任何帮助 将不胜感激 Tr
  • C++前向声明问题

    我有一个包含一些前向声明的头文件 但是当我在实现文件中包含头文件时 它会在之前的前向声明的包含之后被包含 这会导致这样的错误 error using typedef name std ifstream after class usr inc
  • 在哪里可以获得 pldbgapi.sql 以便安装 postgresql 调试器?

    我正在尝试在 Linux 上安装 postgresql 调试器 以便我可以使用 pgAdmin 来调试我的函数 我已经设置了我的postgresql conf文件 然而 我找不到pldbgapi sql Postgresql 安装在 usr
  • sklearn:TFIDF Transformer:如何获取文档中给定单词的 tf-idf 值

    I used sklearn用于计算文档的 TFIDF 词频逆文档频率 值 使用命令如下 from sklearn feature extraction text import CountVectorizer count vect Coun
  • 如何获取数组的大小? [复制]

    这个问题在这里已经有答案了 在 C 中 我使用嵌入到我想要获取其大小的数组中的 Length 属性 在 C 中如何做到这一点 这实际上取决于 数组 的含义 C 中的数组的大小 现在指的是 原始 字节大小 等于一项大小的 N 倍 通过这一点
  • Silverlight 4 HttpWebRequest 抛出 ProtocolViolationException

    我通过 http 调用 REST 服务 该服务返回一个流作为响应 我的客户端代码如下所示 Uri uri new Uri remoteAddress var webRequest HttpWebRequest WebRequest Crea
  • 如何使用mask计算直方图OPENCV?

    我只需要计算图像的一部分的直方图 但这部分具有圆形形状 如圆盘 我创建蒙版来找到图像上的该部分 cv2 rectangle mask 0 0 width height 0 0 0 1 cv2 circle mask int avgkrug
  • 如何从错误:监听 EADDRINUSE 中释放 localhost

    我正在Windows 7上测试用nodejs编写的服务器 当我尝试在命令行中运行测试器时 出现以下错误 Error listen EADDRINUSE at errnoException net js 614 11 at Array 0 n
  • 反序列化 JSON 并访问元素

    我有以下代码 dynamic stuff JsonConvert DeserializeObject Name Jon Smith Address A B C Age 42 var name stuff Name MessageBox Sh
  • “ResourceCycle”类型问题的说明:生成签名的 Apk 时

    更新到 appcompat v7 24 0 0 alpha1 后生成签名的 apk 时出现错误 Error Error Style Resource definition cycle TextAppearance AppCompat Lig
  • 卷积神经网络 - 如何获取特征图?

    I read a few books and articles about Convolutional neural network it seems I understand the concept but I don t know ho
  • href 内有小胡子

    我有这样的 JSON something http something com 和 HTML 像这样 a href something something a 当我应用 Mustache 时 我得到 a href 7B 7Bsomethin
  • 如何从批处理文件中仅删除空目录

    有没有办法从批处理文件中删除给定目录下的所有空子目录 或者是否可以递归复制目录 但排除任何空目录 你确实有两个问题 1 有没有办法从批处理文件中删除给定目录下的所有空子目录 是的 这个一行 DOS 批处理文件对我有用 您可以传入模式 roo
  • 多线 lambda 比较器

    我从 Java 中的 lambda 表达式开始 有一些我认为很奇怪的东西 我确信我做错了什么或者它有解决方法 要定义比较器 我可以这样做 col setComparator CustomCell o1 CustomCell o2 gt Co