Java泛型嵌套类

时间:2016-05-12 07:26:54

标签: java generics nested

我收到以下错误:尝试在JDK7中实现嵌套泛型结构以表示1对多关系时无法找到符号错误。

活动有1到多个活动和会话。 活动有1到多圈和训练。 Lap有1对多Track。 跟踪必须有1到多个TrackPoint。

public class Activities<Activity, Session> {
   private ArrayList<Activity> activities; //with getter and setter

.....     }

public class Activity<Lap,Training> {
   private ArrayList<Lap> laps;// with getter and setter
   private ArrayList<Training> trainings;
}

等等。

当我尝试获取activities.getActivities()时,我收到编译错误。

ArrayList<Activity> activities = (ArrayList<Activity>)activities.getActivities();

我是否需要将其定义为ArrayList<Activity<Lap<Track<TrackPoint>>>>,Training> ?

1 个答案:

答案 0 :(得分:0)

这是一个错字:您正在声明您已经使用的变量activities

ArrayList<Activity> activities = (ArrayList<Activity>)activities.getActivities();

请改为尝试:

ArrayList<Activity> foo = (ArrayList<Activity>)activities.getActivities();

你不再需要演员了:

ArrayList<Activity> foo = activities.getActivities();