声明原语并将其转换为字符串的首选方法
问题内容:
我有3个选择:
- 声明
double member
及以后当我必须通过String
使用时member +
”“。 - 声明
double member
及以后当我必须通过String
使用时Double.toString(member)
。 -
声明
Double member = 0.0
及以后当我必须通过String
使用时member.toString()
。
我的意见: -
最短的一个。但是,
member + ""
将转换为new StringBuilder().append(member).append("").toString()
,这似乎并不优雅。 - 在
Double.toString(member)
我不喜欢,它并没有从字开始member,这是最重要的。我们只需要转换它。最好member是在开头,因为我最注意单词的开头。快速浏览一下,我知道“啊,我要通过会员了”。并与Double.toString(member)
我的第一个浓度变为“啊,好吧......一个Double,我们正在做的toString …成员!啊OK”。 member.toString()
看起来不错,由于Eclipse中的自动补全功能,它的输入速度甚至比+“”还要快。但是,对象要比基元慢得多。参考。
最好的选择是什么?也许还有其他选择?
问题答案:
最好的全面方法将适用于任何情况:
String s = String.valueOf(x);
这里x可以是图元或对象,(重要地)可以是null。
编辑:
hackaliciuos的方式是:
X + "";
尽管注意这不是很有效,因为它可以编译为:
new StringBuilder().append(x).append("").toString();
而且无论如何都会.append(x)
调用String.valueOf(x)
。
请注意,数组需要特殊处理:
String s = Arrays.toString(array);