Java列表类型参数
我有一个这样的方法Java列表类型参数,java,list,methods,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(
public void setDayIntervals(Days day, List<HourRange> ranges) {
int hourMask = 0;
for (HourRange intRange : ranges) {
int Start= intRange.getStart();
int end = intRange.getEnd();
}
}
}
您必须创建一个
HourRange
对象并将其添加到列表中。大概是这样的:
ranges.add(new HourRange(Start, end));
该示例假定HourRange
具有以下构造函数:
public HourRange(int start, int end) {
// code to copy start and end to internal fields.
}
(它有这个构造函数)而不是
列表范围=null代码>
你可能想要
List ranges=new ArrayList()代码>
这会给你一个要添加的列表;除非您将范围初始化为列表,否则任何内容都不能进入该列表。HourRange类的构造函数是什么样子的?这是家庭作业还是您在维护其他人的代码?对于HourRange
:您不需要调用super()
,因为HourRange
只扩展对象。您可以在开始
和结束
中添加private
修饰符,以使类不可变(除非有人使用反射等肮脏技巧),或者在这种情况下,只需集合。singletonList(新的HourRange…
ranges.add(new HourRange(Start, end));
public HourRange(int start, int end) {
// code to copy start and end to internal fields.
}