java - 内联谓词的哈希码是什么?

标签 java lambda hashcode predicate

我正在使用 Pattern.compile("XXX").asPredicate() 创建许多谓词来处理某些数据。看看它的实现,仅此而已

public Predicate<String> asPredicate() {
    return s -> matcher(s).find();
}

内联生成谓词的哈希码是什么?根据https://docs.oracle.com/javase/8/docs/api/java/util/function/Predicate.html它没有指定哈希码...比较我的应用程序中的值,似乎每次都只是一个新的哈希码,即使对于相同的表达式也是如此。所以我只是好奇它一般是如何获取哈希码的。

最佳答案

Lambdas 可能会使用 Object 的默认 hashCode() 实现,该实现根据对象的身份返回一些内容。

关于java - 内联谓词的哈希码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26915037/

相关文章:

c++ - 将函数作为参数传递的良好做法 : copy, 引用,const 引用?

java - 使用字符串属性覆盖 hashCode 函数

java - 哪个哈希码 HashMap 实现用于值检索

java - 我可以在 Linux 上使用 GreenDAO 进行开发吗?

java - 仅从父级 <td> 获取文本

java - 如何使用 Lambda 关闭所有 MessageListenerContainer

c++ - 可以优化 lambda 按值捕获吗?

java - 为什么 java 不从用户定义的类中执行覆盖的 hashcode() 方法?

java - 如何将 JScrollPane 添加到此 JTextArea?

java - 将多个流优化为单个循环