在android中打印`this`variables

有时printf(“%p”,this)有助于查看不同的实例。

android中相当于什么?
(打印出thisvariables的地址或者唯一的东西(它可能不是address )给实例)

看来我可以像OnTouchListener那样OnTouchListener new界面,那我该如何打印一些东西来区分它们的不同实例呢?

Solutions Collecting From Web of "在android中打印`this`variables"

像这样的东西应该这样做:

 android.util.Log.i("Instance", "This is: " + this); 

默认情况下, ObjecttoString实现将打印types加上一个哈希码,这个哈希码可以被认为与C ++中的这个指针相当。

ObjecttoString方法返回一个string,其中包含对象为实例的类的名称,符号字符'@'和对象的哈希代码的无符号hex表示forms。 换句话说,这个方法返回一个string,其值等于:

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

如果一个对象提供了toString()的不同实现,比如String ,那么你可以使用上面的基础toString()方法的规范实现来获得相同的结果。

为了得到与实例不同的东西,你应该使用System.identityHashCode(this) 。 它返回Object返回的.hashCode()的默认实现(可能已经在子类中被覆盖,所以这就是为什么你不应该直接使用.hashCode() ),根据文档,它是“尽可能多是相当实际的“不同的对象。