[英]private static class ArrayList in java.util.Arrays - Why?
[英]Get the class of java.util.Arrays$ArrayList
我怎么知道java.util.Arrays$ArrayList
的實例。 我試過這個代碼片段,但它根本不起作用:
if (myList instanceof Arrays) {
//Do something here.
}
我已經將對象類類型與 ArrayList 進行了比較,我遇到了同樣的問題。 但是當我檢查對象時,classType 是一個:
class java.util.Arrays$ArrayList
下面的條件語句是我找到的唯一解決方案:
else if (myList.getClass().toString().equals("class java.util.Arrays$ArrayList")) {
//do something here
}
但我認為使用 instanceof 控制對象類型將是一個很好的解決方案。
我的問題是: java.util.Arrays$ArrayList
的 classType 是什么,所以我可以使用instanceof作為我的控件。
提前致謝,
奧馬爾。
如果列表來自Arrays#asList
,則返回的 ArrayList 不是java.util.ArrayList
,因此與此類的比較將始終失敗。
問題是,為什么你需要知道它正是這個實現? 也許檢查java.util.List
就足夠了?
一般來說,你為什么需要 instanceof 運算符是有問題的,通常還有其他更好的設計解決方案。
你為什么使用Arrays
? 您必須像在此代碼中一樣使用ArrayList
if (myList instanceof ArrayList) {
//Do something here.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.