java - 如何知道一个类的Dynamic类型?

标签 java

我的问题是,如何或者是否可能知道编译器中对象的动态类型。 我有这个数据

public abstract class accommodation;
public class Hotel extends accomodation;
public class Cabin extends accomodation;
accomodation [] array=  new accomodation[x];

我的实际问题是,我可以从中得到一个仅包含酒店的数组吗?

最佳答案

一种方法是使用 filtermap 首先过滤掉所有 Hotel 对象,然后转换为 酒店

Arrays.stream(array)
    .filter(x -> x instanceof Hotel)
    .map(x -> (Hotel)x)
    .collect(Collectors.toList());

关于java - 如何知道一个类的Dynamic类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47898632/

相关文章:

Java设计问题

java - 将c#函数代码转换为java

java - 使用 DataStream API 进行批处理的 Flink Consumer - 我们如何知道何时停止以及如何停止处理 [ 2 倍 ]

java - 工作流拦截器和验证拦截器的区别

java - 逻辑电路仿真

java - Struts 中的 Controller

java - JTextField 输入 validator

java - 我缺少哪些 Hibernate 注释?

java - Spring 中的声明式事务管理行为不可预测

java - 如何了解一个网站是否使用gzip压缩?