gpt4 book ai didi

java - Instanceof - 从先前的 ArrayList 添加新对象到新的 ArrayList

转载 作者:行者123 更新时间:2023-12-01 12:42:09 26 4
gpt4 key购买 nike

我有一个关于 instanceof 运算符以及如何正确使用它们来解决我的问题的问题。

我目前有一个 Question 类型的 ArrayList,其中存储了两种类型 'QuestionType1''QuestionType2'。存储了 20 个问题对象,我需要从此列表中随机生成 5 并将它们存储在新的地方。

我创建了一个随机生成 5 个问题的方法,但我一直不知道如何将它们添加到 'Question' 类型的新 ArrayList 中。

我使用instanceof运算符检查返回的问题是否与某种类型匹配,然后将它们添加到新的ArrayList中。 (参见下面的代码块)。

    public static void chooseQuestions() {
Random randomiser = new Random();
Collections.shuffle(questions);

for(int i = 0; i < 5; i ++) {
Question random = questions.get(randomiser.nextInt(questions.size()));
System.out.println(random);

if(random instanceof QuestionType1) {

fiveQuestions().add(new QuestionType1(i, null, null, null, null, null, null, i) );

} else if (random instanceof QuestionType2) {

fiveQuestions().add(new QuestionType2(i, null, null, 1));
}
}

}

我只是想要一些帮助来了解是否:

  • 我正确使用了instanceof
  • 用什么替换两个“FiveQuestions().add(new...”中的空占位符

希望本文足够容易阅读。

非常感谢!

最佳答案

简单地做:

for(int i = 0; i < 5; i ++) {
Question random = questions.get(randomiser.nextInt(questions.size()));
fiveQuestions().add(random);
}

关于java - Instanceof - 从先前的 ArrayList 添加新对象到新的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com