我有一个名为 DataSet 的类,它有各种构造函数,每个构造函数都指定不同类型的变量。它可能看起来有点像这样:
public class DataSet
{
private HashSet Data;
public DataSet( DataObject obj )
{
Data = new <DataObject>HashSet();
Data.add( obj );
}
public DataSet( ObjectRelationship rel )
{
Data = new <ObjectRelationship>HashSet();
Data.add( rel );
}
// etc.
注意:由于部分不完整(我现在正在构建),我尚未测试该代码。
在我当前正在构建的函数中getDataObjects()
,我需要返回该集合表示的所有 DataObject 对象。对于初始化类的 HashSet 的构造函数,Data
其类型不是DataObject
(例如上述ObjectRelationship
),显然不会有任何 DataObjects 存储在其中。在这种情况下,我需要能够检测 HashSet 'Data' 的启动类型(例如,判断它是否是 'ObjectRelationship',我的意思是)。我该怎么做呢?
tl;dr:我如何判断在我的代码中启动集合(在本例中为 HashSet)的类型(例如使用“if”或“switch”语句或其他内容)?