Java - 多态性问题

标签 java arrays polymorphism arraylist

我有一个书籍类,然后是一个小说类和一个扩展书籍类的科学书籍类。

我使用 book 类创建了一个 ArrayList,然后将小说和科学书籍插入其中。现在我正在尝试遍历 ArrayList 以计算那里有多少本小说。我怎么知道?

很想看到这方面的一些例子!我已经研究了一段时间。

最佳答案

使用instanceof

例如

    int numberOfNovels = 0;
    for(int i = 0; i < arrayOfBooks.length; i++){
       if(arrayOfBooks[i] instanceof Novel){
          numberOfNovels++;
       }
    }

或者,使用 foreach:

 int numberOfNovels = 0;
 for(Book book: arrayOfBooks){
    if(books instanceof Novel){
       numberOfNovels++;
    }
 }

关于Java - 多态性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456080/

相关文章:

c++ - 模板可能不是 ‘virtual’

json - 在 Kotlin 中使用 Jackson 进行多态(反)序列化时缺少身份字段

java - 如何确定在 Linux 上使用 Java 还是 JRuby 是否正在运行不同的进程 ID?

python - 如何在python中初始化一个二维字符串DataFrame数组

java - 如何使用这两个 ArrayAdapter 构造函数

arrays - 使用嵌套结构数组创建 Coldfusion JSON 结构

objective-c - 从另一个类调用 float 组

c++11 - C++11 中的最终非多态类

JavaFX - 文件(视频)上传

java - 在终端上设置环境变量,但 System.getenv 返回 null。 java问题