Java错误:int无法解除引用错误

时间:2015-02-05 18:35:08

标签: java

我有一系列超级轿车。此数组中有两种类型的对象--NewCar对象和UsedCar对象。每个汽车对象都有int价格。我想打印低于特定价格的汽车对象列表。

public String printAllCarsWithSellingPriceBelow(int p){
 String s = "";
    for (int i; i < CAR_COUNTER; i++) {
        //s += cars[i].toString();
        s += cars[i].printThis(i) + "\n";
        if ( i.getPrice < p){
        int h = i.getPrice;
        s += cars[h].printThis(h) + "\n";            }
    }
    return s;

我一直收到这个错误:

TestDealer.java:125:错误:int无法解除引用

        if ( i.getPrice < p){

              ^

TestDealer.java:126:错误:int无法解除引用

        int h = i.getPrice;

                 ^

2个错误

在此代码中:

if ( i.getPrice < p){
            int h = i.getPrice;
            s += cars[h].printThis(h) + "\n";            }

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

i变量的类型为int。

由于类型int是基元,因此不能从变量中引用方法或字段。只有objects可以有方法和字段。

解决此问题的一种方法是使用i

的值
if( i > p){
    int h = i;
    ....