我正在编写我的程序的一部分,该程序从txt文件中读取数据。
当我想通过setValue(object)设置JSpinner的值时,我遇到了问题。
我的数据是双倍的,所以我需要将它转换为对象,但是如何?
LoadData open = new LoadData();
data.setFz(open.giveAwayData());
spinner_1.setValue(data.getFz()); // Fz is double
答案 0 :(得分:3)
尝试将其转换为Double(使用大写):
spinner_1.setValue((Double) data.getFz());
答案 1 :(得分:3)
使用Double.valueOf(data.getFz())
。可以找到基元和盒装基元之间差异的解释here;基本上,原语具有更好的性能,但是当你需要Object
时,盒装类就可以了。一个常见的例子是generics,它不能是原语。
但是,double
可以传递给需要Double
或其超类之一的内容。这是因为autoboxing。是的,我非常喜欢链接。
答案 2 :(得分:2)
您可以使用Double
构造函数将double
基元类型转换为Double object
。
Double dObj = new Double(d);
或者您可以像这样将它投射到Double:
spinner_1.setValue((Double)data.getFz());