我想看一个对象,类似于print_r(an_object)PHP 中的对象,或者console.log(an_object)在javascript(在浏览器中),但对于Android.
我试过这个
public void a_method( SomeClass the_arg )
{
Log.d( "an_id" , the_arg );
}
Run Code Online (Sandbox Code Playgroud)
这会生成错误消息:
错误:(23,10)错误:没有为d(String,View)方法找到合适的方法Log.d(String,String,Throwable)不适用(实际和形式参数列表长度不同)方法Log.d(String ,String)不适用(实际参数View不能通过方法调用转换转换为String)
Ari*_*oon 14
您无法像在javascript中那样在Java中将对象打印到控制台.
你有三个解决方案.
1)使用调试器.在android studio中放置断点并调试.然后,您可以检查范围中的完整对象.
2)序列化您的对象(例如,JSON)并将结果打印到控制台.
3)覆盖toString对象的方法,为您提供所需的所有信息并进行调用Log.d("myTag", yourObj.toString())
我强烈推荐第一种方法.我曾经避免调试器,但学习如何使用调试器是我做的最好的事情.它可以提高您的效率并使调试非常容易
Adi*_*til 10
将对象转换为 JSON。你可以使用Gson。
val gson = Gson()
val json = gson.toJson(yourObject)
Log.e(TAG, json)
Run Code Online (Sandbox Code Playgroud)
或者
Log.e(TAG, Gson().toJson(yourObject))
Run Code Online (Sandbox Code Playgroud)
第二个参数必须是String.
Log.d("an_id", String.valueOf(the_arg));
Run Code Online (Sandbox Code Playgroud)
您的错误表明您无法登录View课程
没有为d找到合适的方法(String,View)
当您View通过使用打印该对象时在控制台中看到一些废话时不要感到惊讶String.valueOf