2017-03-26 58 views
-1

所以我有一个泛型接口有两个参数,所以我在另一个类中创建了一个构造函数。在我的主类中,我试图创建一个对象的arrayList,它将使用我在其中实现泛型接口的类中创建的构造函数。我只需要帮助为这个过程设置arrayList。任何帮助将不胜感激。 这是接口:创建ArrayList涉及泛型和接口

public interface Trip<K, T> { 
    public K getPerson(); 
    public T getLocation(); 
} 

这是实现:

public class TripImpl <K,T> implements Trip <K,T> { 
    private K person; 
    private T location; 
    private Date dateOfVisit; 
    public TripImpl(K person, T locations, Date dateOfVisits){ 
     person = persons; 
     location = locations; 
     dateOfVisit = dateOfVisits; 
    } 
//theres more code with the getters but this is just to show the constructor 
} 

主要类:

public class Collect { 
    ArrayList <TripImpl> tlist = new ArrayList<TripImpl>(); 
     String persons, locatione; 
     Date visitd; 
     for (int i =0; i<uPerson.length; i++){ 
      persons = uPerson[i]; 
      locatione = uLocation[i]; 
      visitd = uDate[i]; 
      TripImpl u<String, String> = new TripImpl<String, String>(persons, locatione, visitd); 
      ulist.add(u); 
     } 
} 

这是给我一个错误的主类的第一行。它说TripImpl是一种原始类型,并且参考通用类型TripImpl应该参数化

+1

请显示验证码。 – ravi

+0

并解释你卡在哪里。 – shmosel

+0

对不起,我编辑它包括代码和卡在哪里 – Plumorane

回答

1

这有帮助吗?

VisitImpl<String, String> u = new VisitImpl<String, String>(persons, locatione, visitd); 
+0

是的!这有助于解决我在尝试创建新的Trip Implement时遇到的错误。但是现在我的第一行有一个问题:ArrayList tlist = new ArrayList (); 错误说“TripImpl是一个原始类型,并且引用应该被参数化” – Plumorane

+1

@Plumorane然后这样做:'ArrayList >' – shmosel

+0

很高兴为您提供帮助。如果遇到更多麻烦,最好打开另一个问题 –