我的预订课程中有一个构造函数如下:
public Booking (String name, String phone, int [] adultSeats, int [] childSeats )
{
this.name = name;
this.phone = phone;
this.adultSeats = adultSeats;
this.childSeats = childSeats;
}
我想通过创建Booking对象来编写一个Tester类来执行构造函数。
我做了很多尝试,例如:
尝试1:Booking b1 = new Booking ("Ali","32788943",{0,1},{3,4,5}) ;
尝试2:Booking b1 = new Booking ("Ali","32788943",2,3) ;
如何在Tester类中执行构造函数?
感谢。
答案 0 :(得分:5)
如果要内联指定一个新数组(在对任何构造函数或方法的调用中),必须显式创建它并指定其类型如下:
Booking b1 = new Booking ("Ali","32788943",new int[]{0,1},new int[]{3,4,5});
在这种情况下,简单地指定{3,4,5}
并不足以满足编译器,因为可能会出现关于数组类型的模糊情况(因为与泛型不同,数组类型是有效的,不会被擦除)
如果你想避免使用这种内联符号,那么将其分解为单独的变量可能会更清楚:
int[] adultSeats = {0,1};
int[] childSeats = {3,4,5};
Booking b1 = new Booking("Ali", "32788943", adultSeats, childSeats);
答案 1 :(得分:0)
您应该为 adultSeats 和 childSeats
传递 int 类型数组值将其设为
Booking b1 = new Booking ("Ali","32788943",new int[]{0,1},new int[]{3,4,5});
答案 2 :(得分:0)
像这样:
Booking b1 = new Booking("Ali", "32788943", new int[] {0, 1}, new int[] {3, 4, 5});