Java List类型参数

时间:2010-08-24 13:50:05

标签: java list methods

我有一个看起来像这样的方法

public void setDayIntervals(Days day, List<HourRange> ranges) {
        int hourMask = 0;
        for (HourRange intRange : ranges) {
                     int Start= intRange.getStart();
                     int end = intRange.getEnd();
            }
        }

}

我必须从另一个班级传递范围列表。

for(int s = 0; s < adSchedule.getTargets().length ; s++ ){
        List<HourRange> ranges = null;
        int Start =  adSchedule.getTargets(s).getStartHour();
        int end =  adSchedule.getTargets(s).getEndHour()-1;
            if(adSchedule.getTargets(s).getDayOfWeek()==DayOfWeek.MONDAY ){
               // ranges ????????? here i have to pass values Start and End 
               CamSchedule.setDayIntervals(Days.ONE, ranges);
             }
    }

有人可以告诉我如何在上述方法setDayIntervals(Days.one, ramges)

中传递范围
public static class HourRange {
        int start;
        int end;

        public HourRange(int start, int end) {
            super();
            if(start > end) 
                throw new IllegalArgumentException();
            this.start = start;
            this.end = end;
        }

        public int getStart() {
            return start;
        }

        public int getEnd() {
            return end;
        }
}

2 个答案:

答案 0 :(得分:2)

您必须创建一个HourRange对象并将其添加到列表中。像这样:

 ranges.add(new HourRange(Start, end));

该示例假定HourRange具有此构造函数:

 public HourRange(int start, int end) {
   // code to copy start and end to internal fields.
 }

<击> 此构造函数)

答案 1 :(得分:0)

而不是

List<HourRange> ranges = null;

你可能想要

List<HourRange> ranges = new ArrayList<HourRange>();

这会给你一个要添加的列表;直到您将范围初始化为列表,没有任何内容可以进入该列表。