-2

我有一个类 Fruit 在其构造函数中实例化一个向量(不同水果的向量)。在那个类中,我正在编写一个 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 类中编写搜索函数,如何将创建的向量传递给该类。

4

1 回答 1

1

首先,您可能不想使用Vector. 你可能想要一个ArrayList. 向量使用了很多繁重的同步,这在几乎所有情况下都是不必要的。

至于您的问题,按原样回答有点困难,因为目前尚不清楚您要完成什么。我建议,在编程时,您花更多时间思考您的问题领域并了解您要完成的工作。

例如,您似乎正在编写一个处理水果集合的程序。在这种情况下,您可能需要对至少两种类型的对象进行建模。您的水果和您收集的水果(为简单起见,我们将其称为水果篮)。

AFruit可能至少有一个名称(苹果、橙子等)和一些其他信息(大小、重量、颜色等)。

AFruitBasket将有一个List<Fruit>以及一些有用的方法来与你的集合进行交互Fruit,例如添加水果、删除水果和搜索水果(当然,这些方法都是由 any 实现的Collection,但这看起来很像作业,所以我们会轻而易举过去的。

就目前而言,您的设计非常混乱,很难指出任何具体事物并说“那是您的问题!” 将其带回绘图板并尝试根据现实世界的对象对其进行建模。

于 2013-09-28T20:53:36.503 回答