dww*_*n66 31 java types casting
我正在尝试调试我继承的程序.这个程序包含字符串,数组列表和集合,类型之间的大量转换,我需要做一些字符串操作(substring等等)
当打印到控制台时,数据看起来像字符串(例如,它是一行文本,如Johnson, John或Chicago Region),但我的代码错误输出各种index out of range错误,这表明我的代码转换为String无效.
我想试着找出正在进入的数据类型,并让我的方法验证程序是否按预期运行.有没有办法在Java中找到字段类型?在一个完美的世界中,我可以在每一步生成控制台输出,它会给我数据值,无论是字符串,数组列表还是集合.可以这样做吗?
And*_*odi 52
给定任何对象的实例,您可以调用它的getClass()方法来获取描述对象类型的Class对象的实例.
使用Class对象,您可以轻松打印它的类型名称:
Integer number=Integer.valueOf(15);
System.out.println(number.getClass().getName());
Run Code Online (Sandbox Code Playgroud)
此打印用于控制类的完全限定名称,例如:
java.lang.Integer
Run Code Online (Sandbox Code Playgroud)
如果您想要更简洁的输出,可以使用:
Integer number=Integer.valueOf(15);
System.out.println(number.getClass().getSimpleName());
Run Code Online (Sandbox Code Playgroud)
getSimpleName()仅为您提供类的名称:
Integer
Run Code Online (Sandbox Code Playgroud)
打印原始变量的类型有点复杂:有关详细信息,请参阅此SO问题.
| 归档时间: |
|
| 查看次数: |
68105 次 |
| 最近记录: |