Java collections covariance problem

前端 未结 3 1139
情话喂你
情话喂你 2020-12-03 18:04

Lets say we have a program which contains such classes:

public interface AbstractItem {
}
public SharpItem implements AbstractItem {
}
public BluntItem imple         


        
3条回答
  •  伪装坚强ぢ
    2020-12-03 18:37

    public interface AbstractItem
    {
    }
    public class SharpItem implements AbstractItem
    {
    }
    public class BluntItem implements AbstractItem
    {
    }
    
    public interface AbstractToolbox
    {
        public List getItems();
    }
    public class ExpensiveToolbox implements AbstractToolbox
    {
        private List items = new ArrayList();
        public List getItems() { return this.items; }
    }
    public class CheapToolbox implements AbstractToolbox
    {
        private List items = new ArrayList();
        public List getItems() { return this.items; }
    }
    
    
    public void doImportantStuff(AbstractToolbox toolbox)
    {
        List items = toolbox.getItems();
    
        for(AbstractItem item : items) 
            ... ;
    
    }
    

提交回复
热议问题