解释Context

时间:2015-07-09 11:18:33

标签: android

出于好奇,我使用以下代码显示了上下文的字符串表示:

this.toString() + "\n" + getApplicationContext().toString() + "\n" + getBaseContext().toString()

它给了我:

com.example.makz.bud.MainActivity@b0fe7ef0 android.app.Application@b0fe62a0 android.app.ContextImpl@b0fe9c88 `

  • 十六进制值代表什么?
  • 我可以从这些值中获取任何有用的信息吗?

2 个答案:

答案 0 :(得分:1)

com.example.makz.bud.MainActivity@b0fe7ef0开始,您可以获得Context的具体实现,类型为com.example.makz.bud.MainActivity,并在b0fe7ef0内存位置(默认hashCode的十六进制表示)中分配。

这是Java中toString()方法的默认表示。

答案 1 :(得分:0)

您可以在源代码中找到Context不会覆盖toString()方法。 所以它是Java Object.toString()方法的默认表示(根据文档):

getClass().getName() + '@' + Integer.toHexString(hashCode())

所以,我认为你无法从这个

获得有用的信息