dsk*_*ner 5 java android comments annotations
我很好奇是否可以在类或方法上使用注释,在运行期间或之前,使用注释字符串的日志记录替换注释.例如,如果在android上:
@LogComments
class MyActivity extends Activity {
@Override public void onCreate(Bundle b) {
super.onCreate(b);
// set some local vars
int a = 1;
int b = 2;
}
}
Run Code Online (Sandbox Code Playgroud)
会翻译成类似的东西
class MyActivity extends Activity {
@Override public void onCreate(Bundle b) {
super.onCreate(b);
Log.d("TAG", "set some local vars");
int a = 1;
int b = 2;
}
}
Run Code Online (Sandbox Code Playgroud)
盒子外面。不,没有任何东西可以允许这样做。
现在,如果您想自己构建它,您也许可以创建某种编译器扩展,它允许您解析文件并根据存在的注释将注释转换为日志表达式。但这必须作为编译阶段的一个步骤发生,因为注释不是类文件的一部分,因此它无法在运行时发生。
但是,您正在谈论一个相当大的副项目来创建这样的东西。另外,这种方法也有局限性,比如如果不向注释中添加某种表达式语言,就不可能在运行时写出变量值。最后,您将创建一些复杂的东西,而不是已经存在的、强大的、并且通过使用 API 被使用了数百万次的东西。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |