例如,假设我有AbstractClass
并且我有一个名为AbstractClass
和FirstChildClass
的{{1}}子类列表。而且我还有一个完整的SecondChildClass
。
现在假设以下代码段:
IsolatedClass
简单地说,我想在第三行出错。有没有办法在Java中实现这个目标?
答案 0 :(得分:3)
如果您将列表声明为
List<Class<? extends AbstractClass>> classList = new ArrayList<>();
然后它只能包含扩展AbstractClass
的类。
答案 1 :(得分:-1)
我认为&#34;有界的通配符&#34;是你正在寻找的。你可以这样使用它:
<Style TargetType="{x:Type ComboBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=ListViewItem}}" Value="true">
<Setter Property="Foreground" Value="AliceBlue" />
</DataTrigger>
<DataTrigger Binding="{Binding IsPrimary, ElementName=userControl}" Value="True">
<Setter Property="ItemsSource" Value="{Binding DataContext.IResourceTravelDocumentsModuleViewModel_ResourceTravelDocumentTypes_Primary, ElementName=userControl}" />
</DataTrigger>
<DataTrigger Binding="{Binding IsPrimary, ElementName=userControl}" Value="False">
<Setter Property="ItemsSource" Value="{Binding DataContext.IResourceTravelDocumentsModuleViewModel_ResourceTravelDocumentTypes_Supplementary, ElementName=userControl}" />
</DataTrigger>
</Style.Triggers>
</Style>
这样,列表只能包含从AbstractClass继承的项目。接口也是如此。