我认为没有现成的方法可以做到。可能更清洁的解决方案是:
Stream.of(objects) .filter(c -> c instanceof Client) .map(c -> (Client) c) .map(Client::getID) .forEach(System.out::println);
或者,如注释中所建议,您可以使用
cast方法-尽管前者可能更易于阅读:
Stream.of(objects) .filter(Client.class::isInstance) .map(Client.class::cast) .map(Client::getID) .forEach(System.out::println);



