我有一个类在我的构造函数中,我实例化一个向量(不同水果的向量)。在那个课程中,我正在编写一个searchVector方法。我想从另一个类searchFruit中调用该方法,但如果我创建了Fruit类的对象,则会初始化一个新的向量。当我调用searchVector方法时,向量为空(当创建新向量时),因此搜索失败。有没有办法可以从searchFruit类调用searchVector方法。
class Fruit{
Vector v;
Fruit(){
v= new vector();
}
public Fruit searchVector(String fruit){
//Searches Fruit
}
}
class searchFruit{
Fruit apple = new Fruit();
apple.searchVector("Apple");
}
或者,如果我想在searchFruit类中编写搜索函数,我该如何将创建的向量传递给该类。
答案 0 :(得分:1)
首先,您可能不想使用Vector
。你可能想要一个ArrayList
。向量使用大量的重度同步,几乎在所有情况下都是不必要的。
至于你的问题,这有点难以回答,因为目前还不清楚你究竟想要完成什么。我建议,在编程时,你会花更多的时间来思考你的问题领域,并了解你想要实现的目标。
例如,您似乎正在编写一个处理水果收集的程序。在这种情况下,您可能需要建模至少两种类型的对象。你的水果和你的水果收集(为简单起见,我们将其称为水果篮)。
Fruit
可能至少有一个名称(苹果,橙等)以及其他一些信息(大小,重量,颜色等)。
FruitBasket
将有一个List<Fruit>
以及一些有用的方法来与您的Fruit
集合进行互动,例如添加水果,去除水果和搜索水果(当然,这些方法都是由任何Collection
实现的,但这看起来非常像家庭作业,所以我们将轻松过去。
目前,您的设计充分混淆,很难指出任何一件具体的事情,并说“那是你的问题!”将其带回绘图板并尝试根据现实世界对象进行建模。