0

Java中是否有一个关键字(或等价物),编译器用关键字出现的方法(和/或类等)的名称替换?这将类似于

__FUNCTION__

宏是 C/C++。

我知道Java“不支持宏”,但我不是要求用户#define'able 宏,只是用编译器知道的文字字符串替换的一小组关键字。

我知道有一些方法可以让一段代码出现在(http://www.rgagnon.com/javadetails/java-0420.html)中,但我假设这些方法不是免费的。毫不奇怪,如果这个功能存在,我想在跟踪中使用它,所以它确实需要零成本或非常接近它。

我想这取决于编译器的实现,所以也许我的问题是通常的 Java 编译器(无论 JDK 附带什么)是否支持这一点。

如果不是,我不明白为什么它不可用,因为它看起来很有用,我认为编译器提供它是微不足道的,因为它肯定知道它正在编译的代码的方法名称。

4

1 回答 1

0

在最终方法的情况下,编译器可能会用方法的实际主体(如宏)替换调用。这种机制称为inlining

在 C++ 中,我们可以选择声明一个函数 a inline

于 2013-03-29T18:09:10.437 回答