我正在尝试调试我继承的程序。这个程序包含字符串,数组列表和集合,类型之间的大量转换,我需要做一些字符串操作(substring
等)
当打印到控制台时,数据看起来类似于字符串(例如,它是一行文本,例如 Johnson, John
或 Chicago Region
),但我的代码因各种 index out of range
错误而出错,这表明我要转换为 String 的代码不起作用。
我想尝试弄清楚输入了哪些数据类型,并留下我的方法来验证程序是否按预期运行。有没有办法在 Java 中找到字段类型?在一个完美的世界中,我可以在每一步都生成控制台输出,这将为我提供数据值以及它是字符串、数组列表还是集合。可以吗?
最佳答案
给定任何对象的实例,您可以调用它的 getClass() 方法来获取描述对象类型的 Class 对象的实例。
使用 Class 对象,您可以轻松打印它的类型名称:
Integer number=Integer.valueOf(15);
System.out.println(number.getClass().getName());
此打印用于控制台类的完全限定名称,例如:
java.lang.Integer
如果你想要更简洁的输出,你可以改用:
Integer number=Integer.valueOf(15);
System.out.println(number.getClass().getSimpleName());
getSimpleName() 只给你类的名字:
Integer
打印原始变量的类型有点复杂:见 this SO question了解详情。
关于java - 有没有办法将 java 数据类型输出到控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10438448/