java - 获取java.util.Arrays$ArrayList的类

标签 java android arrays jakarta-ee arraylist

我如何知道java.util.Arrays$ArrayList的实例。我已经尝试过这个代码 fragment ,但它根本不起作用:

if (myList instanceof Arrays) {
    //Do something here.
}

我将对象类类型与 ArrayList 进行了比较,并且遇到了同样的问题。但是当我检查该对象时,类类型是:

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运算符是值得怀疑的,通常还有其他更好的设计解决方案。

关于java - 获取java.util.Arrays$ArrayList的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33297774/

相关文章:

android - 何时附加和分离 View ?

PHP SoapClient 将数组转换为字符串

java - 是否可以使可序列化类的锁暂时存在?

java - java执行时bat文件没有按预期执行

java - 安卓 : Refresh ListView not working

java - Linux - 通过shell脚本运行jar文件时出现IO异常

android - Android布局真的很难成倍增长吗?

android - Android 中 Toast、数据库和其他实用程序的单例模式

C编程求二维数组的长度

c - 在函数参数中使用指针或数组