[英]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
將返回true
而new Integer(5) instanceof String
將返回false
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.