我是Java的新手,所以请保持温柔......
考虑以下ShoppingList Class
:
public class ShoppingList {
...
public ItemPrices[] getSortedPrices(){
//do sorting stuff here etc
return ret.toArray(new ItemPrices[0]);
}
}
现在我有另一个名为Hello
的课程:
public class Hello {
...
private Groceries createGroceries() {
...
pricearray[] = ShoppingList.ItemPrices[] //????
...
}
}
我想将我创建的数组pricearray分配给等于方法中返回的ItemPrices数组。
但是我没有得到我想要的东西,这样做的正确方法是什么?
答案 0 :(得分:2)
除非方法getSortedPrices
是静态方法,否则您需要从ShoppingList
类的实例调用它,因此您应该按如下方式创建实例
public class Hello {
...
private Groceries createGroceries() {
...
ShoppingList sList = new ShoppingList();
PriceList [] pricearray = sList.getSortedPrices() //you call a method by its name, not return type.
...
}
}
另外,我也没看到
(ItemPrices []是双倍的。)
它应该是一个双精度数组,还是一个类ItemPrices
的实例数组?
如果它应该是一个双打数组,你需要这样做:
public class ShoppingList {
...
public double[] getSortedPrices(){
//do sorting stuff here etc
return new double[n] // n is the length of the array
}
}
和行
PriceList [] pricearray = sList.getSortedPrices()
应该是
double [] pricearray = sList.getSortedPrices()
答案 1 :(得分:1)
如果不关注其他问题,你必须做一些像
这样的事情ShoppingList sl = new ShoppingList();
ItemPrices[] pricearray = sl.getSortedPrices();
但是这需要你知道类型,构造函数,数组,如何调用方法以及许多其他东西!