Java自动装箱ValueOf(String)

Rol*_*all 2 java string int boxing value-of

您如何看待以下代码行?:

 String s= "10.0";
  float f = Float.valueOf(s).floatValue();//1
Run Code Online (Sandbox Code Playgroud)

有必要吗?为什么使用这样的语法而不是使用以下内容会更好:

float f = Float.valueOf(s);//2
Run Code Online (Sandbox Code Playgroud)

它仍然利用自动装箱功能提供相同的结果.

简而言之,我的问题是:为什么要选择第一种语法而不是第二种语法呢?它们完全一样吗?

Roh*_*ain 5

简而言之,我的问题是:为什么要选择第一种语法而不是第二种语法呢?它们完全一样吗?

好吧,我不会使用它们,因为它们都会生成中间Float对象,几乎总是不需要.无论何时需要,我们都会让它与拳击一起工作.

现在,您应该只使用Float.parseFloat(String)生成原始浮点数的方法.


就相似性而言,不是它们不完全相同.第二届一个涉及auto-unboxingFloatfloat,虽然没有unboxing在第一种情况下.它使用给定的方法进行转换.