簡體   English   中英

檢查Object是否是String,HashMap或HashMap []的實例

[英]Check if Object is instance of String, HashMap, or HashMap[ ]

我在java中有一個Object。 有沒有辦法在將對象實際投射到這些對象之前檢查對象是否是String,HashMap或HashMap []的實例?

如果沒有,因為上述方法似乎違反直覺,是否有辦法將其投射到每個對象中,並測試一些關於新鑄造的對象,看看它實際上是否是它所鑄造的對象的類型?

是:

 if(obj instanceof String)
 {
     String str = (String) obj;
     .
     .
     .
 }

順便說一句,澄清一下:

[...]測試一些關於新鑄造物體的東西,看看它實際上是否是它所鑄造的物體的類型?

無法將某些內容轉換為無效類型。 如果obj具有String類型,那么((Integer)obj)將導致在運行時引發ClassCastException

您正在尋找instanceof運算符。

instanceof運算符將對象與指定的類型進行比較。 您可以使用它來測試對象是否是類的實例,子類的實例或實現特定接口的類的實例。

示例: "Hello" instanceof String將返回truenew Integer(5) instanceof String將返回false

暫無
暫無

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

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