JAVA:如何检查对象数组中的所有对象是否都是子类的对象?

标签 java arrays

我得到了一个包含对象的数组。现在我想检查所有这些对象是否都是 MyObject 的实例。

有没有比这更好的选项:

boolean check = true;
for (Object o : justAList){
  if (!(o instanceof MyObject)){
    check = false;
    break;
  }
}

最佳答案

如果您不喜欢循环,您可以随时在 Java 8 中执行此操作:

使用ArrayList

List<Object> justAList = new ArrayList<>();
// Add items here...
return justAList.stream().allMatch(o -> o instanceof MyObject);

使用普通数组

Object[] justAList = new Object[10];
// Set items here...
return Arrays.stream(justAList).allMatch(o -> o instanceof MyObject);

编辑:

只有当您想提高代码可读性和/或使其更加简洁时,上述建议才对您有用。但不要认为它可以避免执行循环。它仍然会执行一个循环,只是你看不到它。因此,不要指望它的性能会比您已有的更好。

关于JAVA:如何检查对象数组中的所有对象是否都是子类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31142201/

相关文章:

java - 为什么更改整个数组行会产生奇怪的行为?

java - spring-boot-devtools 在缺少 MANIFEST.MF 的 JAR 上失败

java - 无法识别java 8 lambda但配置没问题

java - 在 Java 中将 long 分配给 Long

java - 如何在 java 运行时将 jpanel 表单添加到 jpanel?

javascript - 如何在javascript中初始化4d数组?

JavaVM 加载失败

java - 如何将字符串拆分为二维数组并根据行访问每个分组?

javascript - 如何使用 javascript 将文本居中放置在 div 中

javascript - 我将如何在 Javascript 中循环遍历一个数组,添加一个词,然后返回一个数组(不使用 map )?