首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java-ME浇铸整数矢量

用Java-ME浇铸整数矢量
EN

Stack Overflow用户
提问于 2012-10-22 01:41:25
回答 3查看 504关注 0票数 1

我在转换整数向量时遇到了问题,如下所示。转换字符串是可以的,但我对Integer有问题。

代码语言:javascript
复制
private Vector a = new Vector();
Record record = new Record();

record.setName((String) listName.elementAt(i));
record.setPrice((int) listPrice.elementAt(index));
a.addElement(record);

下面是类Record

代码语言:javascript
复制
package goldenicon;


public class Record {
    String name;  
    int price;


    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }
    public void setPrice(int price) {
        this.price = price;
    }

}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-22 01:47:36

代码语言:javascript
复制
record.setPrice((int) listPrice.elementAt(index));

不能将基元类型放入Arraylist或Vectors中。您必须为这样的操作使用包装类,例如Integer而不是int,或者Double而不是double

类似地,在从Vector检索值时,您将得到Integer的对象,而不是int。

所以你必须编写这样的代码

代码语言:javascript
复制
record.setPrice(((Integer) listPrice.elementAt(index)).intValue());
票数 5
EN

Stack Overflow用户

发布于 2012-10-22 01:45:52

Java不能将对象强制转换为基本类型。您必须调用对象的方法来执行此任务。如果您知道您的元素继承自Number,则只需

代码语言:javascript
复制
record.setPrice(((Number) listPrice.elementAt(index)).intValue());
票数 3
EN

Stack Overflow用户

发布于 2012-10-22 01:46:07

不能将对象强制转换为原语。

您可以执行以下操作:

代码语言:javascript
复制
    int z = (Integer) listPrice.elementAt(0);

java自动装箱将为您处理剩下的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13004024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档