我有以下价值观:
int a=1;
int b=0;
int c=2;
int d=2;
int e=1;
Run Code Online (Sandbox Code Playgroud)
我如何连接这些值,以便我最终得到一个字符串10221
; 请注意,乘以a
10000,乘以b
1000 .....和e
1将不起作用b=0
,因此当我将值加起来时,我将失去它.
是使用Java转换为String
"" + <int value>
Run Code Online (Sandbox Code Playgroud)
不好的做法?与String.valueOf(...)相比,它有任何缺点吗?
代码示例:
int i = 25;
return "" + i;
Run Code Online (Sandbox Code Playgroud)
VS:
int i = 25;
return String.valueOf(i);
Run Code Online (Sandbox Code Playgroud)
更新:(来自评论)
那么Integer.toString(int i)与String.valueOf(...)相比呢?
所以我们的计算机科学老师教我们如何通过这样做将int
s 转换成s String
:
int i=0;
String s = i+"";
Run Code Online (Sandbox Code Playgroud)
我想他是以这种方式教给我们的,因为这是相对基础的计算机科学(高中班,请注意),但我想知道这是否在某种程度上"糟糕"与以下相比:
int i=0;
String s = Integer.toString(i);
Run Code Online (Sandbox Code Playgroud)
它的成本更高吗?穷人的习惯?提前致谢.
这是代码片段:
public static void main (String[]arg)
{
char ca = 'a' ;
char cb = 'b' ;
System.out.println (ca + cb) ;
}
Run Code Online (Sandbox Code Playgroud)
输出是:
195
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我认为'a' + 'b'
是,要么"ab"
,"12"
或3
.
这里发生了什么?
我正在使用PMD规则测试一些Java代码.效率的一个规则是'AddingEmptyString'.以下是该规则的说明.
查找正在添加的空字符串文字.这是将任何类型转换为String的低效方法.
String s = "" + 123; // bad
String t = Integer.toString(456); // ok
Run Code Online (Sandbox Code Playgroud)
你能解释为什么Integer.toString比将空字符串添加到整数类型值更好吗?