Double a = Double.valueOf(str);这里前后两个Double是一对相呼应规范操作,表示的是把字符串转换成基本类型,你把前面的Double换成double得到的结果是一样的,但意义不同,
double a = Double.valueOf(str);这里的意思是定义一个double类型的变量a来接收由字符串转换位基本类型的值;而 Double a = Double.valueOf(str);是类型之间的转换,此处a代表Double类,而你要实现的是类型间的转换,用Double a = Double.valueOf(str);更合理