method-reference 相关问题

方法引用是Java 8 lambda功能集的一部分。

在Bean xml中配置Spring的方法引用。

我在我的config类中有一个地图,看起来像下面的代码(尽管我的实际问题是处理一组不同的类): private Map > someParser = ...

回答 1 投票 -1

在Java 8中检查两个字符串是否相等时如何使用方法参考?

我是Java 8的新手,刚刚开始学习。这是我的代码段。字符串名称=“瑜伽”; List 名称= Arrays.asList(“ yoga”,“ kani”);我用lambda做过,工作正常Optional

回答 1 投票 0

使用方法参考了解编译时错误

根据文档,方法参考绝对不是静态调用。它适用于静态和非静态方法。当我们在给定的类中定义我们自己的非静态方法并尝试使用它时...

回答 1 投票 2

方法参考

根据文档,方法参考绝对不是静态调用。它适用于静态和非静态方法。当我们在给定的类中定义我们自己的非静态方法并尝试使用它时...

回答 1 投票 2

Java8-函数接口,Lambda和方法参考

我有以下代码公共类FunctionalInterfaceTest {@FunctionalInterface公共接口FunctionThatThrows {R apply(T t)引发Exception; } public void ...

回答 1 投票 1

使用实例在Java上运行时确定的方法引用

我正在测试使用方法引用的规则,但是我编写的代码无法编译。编译器不断告诉我,我无法从静态上下文引用非静态方法。 ...

回答 4 投票 2

从对象列表中获取最大字符大小的属性

我有一个列表 ,我将从数据库中获取这些值。我需要找到将是动态的特定字段的最大字符大小。目前无法获得...的最大大小...

回答 1 投票 1


枚举构造函数中的非静态方法引用作为参数

我正在尝试将一些值映射到应应用于这些值的函数。如果简化,我想这样做:import java.util.function.Supplier;公共枚举SomeEnum {CASE1(“ val1”,this :: ...

回答 1 投票 1

该方法参考如何在Java中解析

Function f = Integer :: new;整数i = f.apply(“ 100”);当我们调用f.apply

回答 2 投票 0

了解方法参考用法

我在网上看到以下示例,对此我有几个问题-@FunctionalInterface接口MyInterface {void display(); }公共类MethodRef {public void myMethod(){...

回答 1 投票 0

使用Java 8中的方法参考在Collectors toMap方法中获取流对象

我正在尝试使用stream()迭代一个列表并放入一个映射中,其中的键是Steam元素本身,而值是一个AtomicBoolean,为true。 List streamDetails = Arrays ....

回答 1 投票 0

方法参考

[我在网上看到以下示例,对此@FunctionalInterface接口MyInterface {无效display(); } public class MethodRef {public void myMethod(){System ....

回答 1 投票 0

为什么没有输入参数的方法可以用来代替Function

对于以下代码段,在calculateOnShipments中,一个参数接受以Shipment作为输入的函数并返回Double Function f 1)为什么可以通过...

回答 2 投票 2

groovy v3方法参考和groovyString动态变量解析优先级,如果您明确设置了MethodClosure委托

使用groovy v3.0.1,我看到以下代码没有预期的响应。我建立了动词,名词和闭包的映射第一次使用methodReference mybed :: trySleep作为...

回答 1 投票 0

什么是对特定类型任意对象的实例方法的精确引用?

什么是特定类型的任意对象?我不理解代码的一部分(String :: compareToIgnoreCase),我们是怎么做这个参考的? String [] stringArray = {“” Barbara“,” ...

回答 2 投票 0

为什么Double :: compareTo可以用作Stream.max(Comparator super T>比较器)的参数

Stream.max的api需要类型为Comparator super T的参数,对于Comparator,唯一的抽象方法是int compare(T o1,T o2)但Double :: compareTo,compareTo api是...] >

回答 3 投票 2

Java中的传递方法

我正在尝试完成Java中的方法传递。这是我要作为一个虚拟示例进行的鸟瞰图:public final class A {private String value;公共A(字符串值){...

回答 2 投票 1

如何在Java 8的forEach中使用方法参考测试谓词

我正在forEach私有静态void printConditionally8(List people,Predicate predicate){people.forEach(p-> {if(predicate.test(... > 您应该可以在执行操作之前过滤列表: people.stream().filter(predicate).forEach(p -> System.out.println("Print here")); 您不能使用if(predicate::test),因为if接受布尔表达式(此处甚至不知道predicate::test的类型-请查看lambda表达式的目标类型说明文件)。使它起作用的唯一方法是像在第一个代码片段中一样调用test()方法。 我认为您以错误的方式使用了方法参考概念。 方法参考是一种调用方法的漂亮语法,就好像它是一个lambda(java 8+将完成所有转换): 这里是一个例子: public class Foo { private static void printConditionally8(List<Person>persons, Predicate<Person> f) { persons.stream().filter(f).forEach(p -> System.out.print(p + " is here")); } private static Boolean myFilter(Person p) { return p.age > 18; } public static void main(String[] args) { List<Person> persons = ... // create a list of persons printConditionally8(persons, Foo::myFilter); } } 注意主方法如何真正调用printConditionally8。它将对方法myFilter的引用传递为方法,就好像是一个“匿名类”-实现Predicate接口。

回答 2 投票 0


© www.soinside.com 2019 - 2024. All rights reserved.