Java使用来自另一个类的数组

时间:2012-05-21 19:54:41

标签: java arrays class

我是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数组。

但是我没有得到我想要的东西,这样做的正确方法是什么?

2 个答案:

答案 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();

但是这需要你知道类型,构造函数,数组,如何调用方法以及许多其他东西!