Java hashmap int无法解除引用

时间:2014-05-10 17:39:08

标签: java netbeans dao

我想将数据库中的一些数据分配给Netbeans中的jTable。问题是,在get方法的主窗体中,customer列被命名为:

  public int getCustomeridCustomer() {
        return customeridCustomer;
    }

所以我在构建数据访问对象的形式中使用相同的名称。

Object[] objects = new Object[3];
if(l.size() > 0)
{
    for(int i = 0; i < l.size();i++)
    {
        Rentals hashmap = l.get(i);
        objects[0]=hashmap.getIdRentals().toString();
        objects[1]=hashmap.getCustomeridCustomer().toString();
        objects[2]=hashmap.getRentedDate().toString();
        amod.addRow(objects);
    }
    this.jTable1.setModel(amod);

但是! Netbans说&#34; int不能被解除引用&#34;。任何帮助都会很高兴。

2 个答案:

答案 0 :(得分:2)

在这一行

objects[1]=hashmap.getCustomeridCustomer().toString();

您正尝试在基本类型上调用方法。在Java中,您只能在类和对象上调用方法,而不是基元类型。

那是因为方法public int getCustomeridCustomer()返回int,这是一种基本类型。

答案 1 :(得分:1)

 objects[1]=hashmap.getCustomeridCustomer().toString();

你不能取消引用像这样的原始类型变量 - getCustomeridCustomer().toString()


相反,只需执行以下操作(因为您似乎想要分配int原语的字符串表示形式) -

objects[1]=String.valueOf(hashmap.getCustomeridCustomer());