java - 有没有办法将 java 数据类型输出到控制台?

标签 java types casting

我正在尝试调试我继承的程序。这个程序包含字符串,数组列表和集合,类型之间的大量转换,我需要做一些字符串操作(substring等)

当打印到控制台时,数据看起来类似于字符串(例如,它是一行文本,例如 Johnson, JohnChicago 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/

相关文章:

java - 如何能够使用 getConstructor() 中的 .class? - java

vb.net - 使用 DirectCast、CType、TryCast 转换数据类型

objective-c - iOS - 努力在 Obj-C/Swift 代码之间转换

java - java/IBSQL 中的 SQL Firebird 实现

java - Selenium RC Java - isElementPresent 不起作用

sql - Linq2Sql 中的 System.DateTime 和 Sql datetime2(使用 sqlmetal)

ios - 构建 iOS 项目时出现 Google Cast 2.6.0 错误

java - 使用 JScience 解析 mathml 文档

java - 单个测试类的模拟机

types - 在类型级别将自定义类型定义为整数的子集