intellij-idea - IntelliJ IDEA 中的 PsiLambdaExpression
问题描述
是否有现成的解决方案(实用程序)可以从 PsiLambdaExpression 获取 lambda 接口(函数、谓词、供应商、消费者等)?
解决方案
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();
推荐阅读
- python - 在 Python 中使用 sftp.put 将匹配/通配符文件发送到另一台服务器
- python - 使用 turbodbc 创建一个过程
- reactjs - 在 websocket 回调中调用 redux-saga 中的 redux 操作(stomp + sockjs)
- python - Python 中的 Trie 实现——打印键
- series - .series() 的问题和从 mpmath 的转换
- angular - 将 JHipster Angular 客户端应用程序部署到 Apache Web 服务器
- c# - Task.Delay 会导致线程切换吗?
- mysql - MySQL 在安全模式下运行,但不在正常模式下。找不到文件:'./mysql/plugin.frm'(错误号:13)
- docker - Kubernetes Slave 错误 - 与服务器 localhost:8080 的连接被拒绝
- python - 在 Python 中具有继承类的猴子修补类