我试图传递一个String数组,但我仍然无法正确

时间:2014-05-20 15:25:40

标签: java arrays

我尝试使用类没有"扩展"来显示班级Taxi中的数组。

public class Testing {

   public static void main(String[] args) {

      //creating obj of Taxi
      Taxi objTaxi = new Taxi();   

      //creating obj of Place
      Place objPlace = new Place();
      objPlace.displaySomething(objTaxi);
   }
}

class Taxi {

   String[] aaa = {"aaa", "bbb", "ccc"};

   //public String getAAA() {

     // return aaa;
   //}
}

class Place {

   public void displaySomething(Taxi aaa) { //initialize obj of Taxi 

我声明了一个String类型数组来保存从obj发送到此方法的数据。 但它给了我一个错误,说"不兼容的类型" " required = String []" "找到出租车"。

      String[] array = aaa; //Cannot assign array in aaa to the array.

      //print all info in the array
      for(int i = 0; i < array.length; i++) {

         System.out.println(array[i]);
      }

      //System.out.println("string from Taxi : " + aaa.getAAA());
   }
}

3 个答案:

答案 0 :(得分:1)

您传递给方法aaa的{​​{1}}是displaySomething的实例,因此您无法将其分配给字符串数组。

让我们稍微改变你的代码

Taxi

答案 1 :(得分:0)

传递放置Taxi对象,然后将Taxi对象分配给String []数组。 也许尝试在Taxi中创建一个getArray方法,其中包含放在Place类中的循环,然后在Place调用aaa.getArray中,然后打印出数组。

答案 2 :(得分:0)

String[] array = aaa;

aaa是Taxi对象,因此将String []对象设置为Taxi对象是没有意义的。你想要的是:

String[] array = aaa.aaa;