好的,所以我有一个 A 类和一个 B 类,A 类包含一个 B 数组,这是我在数组中添加一个新 B 的代码。
public void addNewB(B b){
course[noOfBs]= b;
noOfBs++;
}
Java说'表达式的类型必须是数组类型但它解析为B'
我添加到数组的理论是因为 noOfB 是数组中的下一个空索引(假设没有被删除),所以这段代码只会将 B 放在下一个空槽中。
为什么这不起作用?!:((抱歉布局不佳,我无法开发这个网站!)
该错误表明您的变量的类型course
实际上是B
,而不是B[]
。看看声明 - 我很确定你会发现它看起来像这样:
B course;
如果不是这种情况,请编辑您的问题以包含声明。
另外,考虑使用 a List<B>
,因此您可以使用:
public void addNewB(B b) {
course.add(b);
}
...并完全删除您的noOfBs
变量。
我认为你做错了什么。因为你没有给出完整的信息。我会假设你的声明或你调用函数的方式可能是错误的。这应该有效。
B course[]=new B[MAX_COURSES]; /* This declares an array of refereneces */
public void addNewB(B b){
course[noOfBs]= b;
noOfBs++;
}
调用函数:
B course1=new B(); b.setCourseName("....") /* Make the object of B */
addNew(course1);