簡體   English   中英

有沒有辦法將java數據類型輸出到控制台?

[英]Is there a way to output the java data type to the console?

我正在嘗試調試我繼承的程序。 這個程序包含字符串,數組列表和集合,類型之間的大量轉換,我需要做一些字符串操作( substring等)

當打印到控制台時,數據看起來像字符串(例如,它是一行文本,如Johnson, JohnChicago Region ),但我的代碼錯誤輸出各種index out of range錯誤,這表明我的代碼要轉換為字符串不工作。

我想試着找出正在進入的數據類型,並讓我的方法驗證程序是否按預期運行。 有沒有辦法在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

打印原始變量的類型有點復雜:有關詳細信息,請參閱此SO問題

對於任何對象x ,您可以打印x.getClass()

.class.getName(); 在任何對象中

如果您只想打印類型, instance.getClass()是要走的路。 如果要根據類型分支行為,也可以使用instanceof

if ( x instanceof String )
{
   // handle string
}

使用getClass()方法。

Object o;
System.out.println(o.getClass());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM