javascript - 能否像在 Javascript 中将函数转换为字符串一样,在 Java 中将方法转换为字符串?
问题描述
在 javascript 中,如果你想完整地返回一个函数,你可以执行如下代码:
function sum(a, b) {
return a + b;
}
console.log(sum.toString());
// expected output: "function sum(a, b) {
// return a + b;
// }"
console.log(Math.abs.toString());
// expected output: "function abs() { [native code] }"
这在 Java 语言中可行吗?
解决方案
在 Java 中,代码被编译成字节码,JVM 会解释它,所以你不能在方法中打印代码。
如果你想传递一个方法引用,你可以用 Java 8 来做。如果你想打印你所在的方法的名称,你可以使用类似的东西getEnclosingMethod()
或获取当前的堆栈跟踪,这取决于你需要什么。
推荐阅读
- html - 如何在图像旁边正确放置几行文本并正确缩进
- javascript - 更新状态问题 reactjs 不工作
- python - Flask - 如何保护源文件以使其不可下载?
- angular - Angular 编译器需要 TypeScript >=4.2.3 和 <4.3.0 但找到了 4.4.0-dev.20210724
- python - 没有应用的聚合熊猫数据框
- javascript - 为什么不显示警报?
- python - Pygame:为什么代码永远不会到达第二次打印?
- python - Jupyter Notebook 在单元格中执行 Python 代码是 IPython 的哪种方法?
- angular - ImageId 未分配给角度 11 中的变量
- html - CSS 如何在一个 div 中选择特定类型的所有元素?