我的问题是,如何或者是否可能知道编译器中对象的动态类型。 我有这个数据
public abstract class accommodation;
public class Hotel extends accomodation;
public class Cabin extends accomodation;
accomodation [] array= new accomodation[x];
我的实际问题是,我可以从中得到一个仅包含酒店的数组吗?
最佳答案
一种方法是使用 filter
和 map
首先过滤掉所有 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/