首页 > 解决方案 > IntelliJ IDEA 中的 PsiLambdaExpression

问题描述

是否有现成的解决方案(实用程序)可以从 PsiLambdaExpression 获取 lambda 接口(函数、谓词、供应商、消费者等)?

标签: intellij-ideaintellij-plugin

解决方案


import com.intellij.psi.LambdaUtil;

PsiType functionalInterfaceType = LambdaUtil.getFunctionalInterfaceType(expression, true); // expression: Map<Object, Object> map -> map.get(1)
functionalInterfaceType.getCanonicalText(); // java.util.function.Function<? super java.util.HashMap<java.lang.Object,java.lang.Object>,?>

或者

expression.getFunctionalInterfaceType();

推荐阅读