要加倍的现有字符串

如何将现有字符串更改为double。 我有这样的代码声明为字符串,但实际上它从数据库中获取数字..我正在做数字转换的刺痛但现在我不想将其转换为字符串并将其作为数字一直得到它

private String _example1; _example1 = new String(); public String getExample1() { return _example1; } public void setExample1(String s) { _example1 = s; } 

所以我只是在上面的代码中用double改变了String字。

 private Double _example1; _example1 = new Double(); public Double getExample1() { return _example1; } public void setExample1(Double s) { _example1 = s; } 

但我收到这个错误

 [exec] com\sample\jack\javabean\ExampleBean.java:48: cannot resolve symbol [exec] symbol : constructor Double () [exec] location: class java.lang.Double [exec] _example1 = new Double(); [exec] ^ [exec] com\sample\jack\javabean\ExampleBean.java:134: setExample1(java.lang.Double) in com.sample.jack.javabean.ExampleBean cannot be applied to (double) [exec] this.setExample1(cstmt.getDouble(2)); [exec] ^ 

有人能告诉我我要做些什么才能做到正确..谢谢

Double是不可变的,必须用值构造(没有no-arg构造函数): http : //download.oracle.com/javase/1.4.2/docs/api/java/lang/Double.html

 try { double d = Double.parseDouble(str); Double D = new Double(d); } catch( NumberFormatException e ) { // input cleansing // thou shalt not fail silently } 

参考:

Double.parseDouble

只需在声明中初始化它,然后删除将其设置为新对象的行。 看看这个 。

我不太明白你的问题,但这里有一些注意事项:

  • 你可以通过简单的声明double d = 0来创建一个double。 或者new Double(0) (将double值作为参数传递)
  • 如果要将字符串转换为double,请使用Double.parseDouble(string)