Java 将任何基本数据类型转换为字符串的最佳方法是什么

Java 将任何基本数据类型转换为字符串的最佳方法是什么,java,Java,我使用以下方法将任何基本数据类型转换为字符串 示例 int i = 5;// String convertToString = ""+i;// convert any primitive data type to string 要将int数据类型转换为string,我可以使用Integer.toString(),但将任何类型的基本数据(不仅仅是int)类型转换为string的更好方法是什么呢 int no = 2; String strValue = String.valueOf( no )

我使用以下方法将任何基本数据类型转换为字符串

示例

int i = 5;//
String convertToString = ""+i;// convert any primitive data type to string
要将int数据类型转换为string,我可以使用
Integer.toString()
,但将任何类型的基本数据(不仅仅是int)类型转换为string的更好方法是什么呢

int no = 2;

String strValue = String.valueOf( no );

考虑这个例子:

int i = 42; 
\\ String 
str = Integer.toString(i);
在这种情况下,您还可以执行以下操作:

String str = "" + i; 
类似地,将基本数据类型转换为字符串的最简单方法之一是对要转换的元素的数据类型对象使用
toString()
方法

 String str = Double.toString(d); // Convert double to String
 String str = Long.toString(l);  //Convert long to String
 String str = Float.toString(f); //Convert float to String
你需要定义“更好”。这台机器最有效的方法是使用

String.valueOf(no);

然而,最有效地利用时间是使代码尽可能简单

"" + no;

这是一个颇具争议的决定,让我想起了这句话

一个很难做出的决定,因为它几乎不依赖于什么,比如在公园里走哪条路

--道格拉斯·亚当斯和约翰·劳埃德对Liff的深层含义


我最近运行了一些基准测试来比较“+myInt”和Integer.toString(myInt)

获胜者是。。。Integer.toString()! 因为它不创建临时字符串,所以只使用适当大小的字符缓冲区,以及一些时髦的算法将数字转换为对应的字符

如果你读法语,这里是我的博客(如果你不读法语,请使用边栏翻译小部件):

Java中的所有东西不是都有
.toString()
方法吗?@SergeiTulentsev原语没有限制类型不是对象,所以它们没有toString()jeezz。。原语肯定没有任何方法,我只是回答@SergeiTulentsev问题,因为在上面的示例中,
toString()
不能应用于原语类型
int
@HarryJoy哪一个?你是说字符串连接还是toString()主要的优点是布尔、char、int、long、float、double和Object都有string.valueOf方法,因此可以使用相同的方法名将任何内容转换为字符串。@JBNizet:我不反对
valueOf()
方法。实际上,我很好奇为什么这是所有转换方法中最好/更好使用的方法?它更好,因为它创建了一个新的
String
实例,而不是三个<代码>“+i可能被翻译成
”.concat(String.valueOf(1))的优点是:它在可重用的环境中创建字符串。请您解释一下“为什么
string.valueOf(no);
是机器最有效的方式?”+1即使它是“黑客式的”,我还是喜欢
no+”
,因为它简洁明了,我觉得不清楚。String.valueOf()和Integer.toString()清楚地表达了意图。不,IMHO.“a”+不,但在本例中,目的是连接。不转换。随着PMD成为Java开发中的标准工具,这种习惯用法越来越不常见,因为PMD有一个避免它的规则:
"" + no;