java的類型轉換讓人忍不住在開始編碼前罵一聲 FUCK!
1 子類轉父類 up
List<SubClass> subs = ...; List<? extends BaseClass> bases = subs;
2 父類轉子類 down
//強轉
public class TestA {} public class TestB extends TestA{} List<TestB> variable = (List<TestB>)(List<?>) collectionOfListA;
3 stream方式
collection.stream() .filter(obj -> obj instanceof ScheduleIntervalContainer) .map(obj -> (ScheduleIntervalContainer) obj)
參考:
2 https://stackoverflow.com/questions/35743525/java-8-stream-cast-list-items-to-type-of-subclass
