Java中是否存在关键字(或等效项),编译器使用关键字出现的方法(和/或类等)的名称进行替换?这与
类似__FUNCTION__
宏是C / C ++。
我知道Java“不支持宏”,但我不是要求用户#define'able宏,只是用编译器知道的文字字符串替换的一小组关键字。
我知道有一些方法可以让方法中出现一段代码(http://www.rgagnon.com/javadetails/java-0420.html),但我认为这些方法不是免费的。毫不奇怪,如果存在这种功能,我想在跟踪中使用它,所以它确实需要零成本或非常接近它。
我想这将取决于编译器的实现,所以我的问题可能是通常的Java编译器(JDK附带的任何代码)是否支持这一点。
如果没有,我就无法理解为什么它不可用,因为它似乎很有用,我认为编译器提供它是微不足道的,因为它肯定知道它编译的代码的方法名称。
答案 0 :(得分:0)
在最终方法的情况下,编译器可以用像Macro这样的方法的实际主体替换调用。此机制称为inlining
。
在C ++中,我们可以选择将函数声明为inline
。