以下代码是否有效?我的意思是,它实际上只运行一个,结果将缓存在属性中,所以下一个调用将不再重新运行该方法吗?
public static final String LOG_TAG = MyApplication.getContext().getApplicationInfo().name;
不知怎的,我无法在任何地方找到它。
评论。
由于你们似乎专注于不重要的事情,这里是改变的代码:
public static final String SomeVar = MyApplication.someMethod();
答案 0 :(得分:2)
你不能这样做,因为Application.getContext()
方法不是static
。
编辑:我看到您修改了自己的问题:因此,如果您的MyApplication.someMethod()
方法为static
,那么它的工作原理是正常的,someMethod()
只会被调用一次,除非您的类被垃圾收集器破坏并重新创建。
答案 1 :(得分:0)
我不确定。我通常这样得到它:
我的(活性)Class.class.getSimpleName();