2013-11-14 40 views
1

我有一个接口初始化,将生成包含不同的对象类型的列表数据:接口方法返回的ArrayList含有不同的对象

public interface DataInitializer { 
    public void initializeData(); 
    public ArrayList<> getData(); 
} 

当我实现实现类将需要的这种抽象的getData()方法返回包含不同类型对象的ArrayList,例如:

public ArrayList<Faculty> getData() 
public ArrayList<Student> getData() 

如何在界面中考虑所需的灵活性?

回答

4

让它generic

public interface DataInitializer { 
    public void initializeData(); 
    public <T> ArrayList<T> getData(); 
} 

或者对接口级

public interface DataInitializer<T> { 
    public void initializeData(); 
    public ArrayList<T> getData(); 
} 

实现的例子:

class StudentInitializer implements DataInitializer<Student> { 
public ArrayList<Student> getData() { 

} 
} 
+0

你有什么建议,为什么我的问题是下投票? –

+0

@BrianVanover:我不知道谁做的背后的推理。也许他们认为你应该已经发现自己需要泛型,但这只是在猜测。 –

+0

谢谢。我有一个问题禁止:/ –

相关问题