在Java中,这是将字符转换为字符串的正确方法吗?
在为返回boolean
的函数编写单元测试时,它需要两个String
,我需要测试字母表中的每个字符('a'
-'z'
),作为参数之一,一个接一个地测试,所以我写了这个来做到这一点:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, new String(c));
}
我本以为这是允许的,但事实并非如此,所以我就这样做了:
for(char c = 'a'; c <= 'z'; c++)
{
assertTrue(MyClass.MyFunction(testSubject, ((Character) c).toString());
}
在Java中,这是将char
转换为String
的可靠方法吗?这是首选方式吗?我对Java了解不多,所以我想澄清一下
# 1 楼答案
最短的解决方案:
最干净(可能也是最有效的1)的解决方案:
与您的方法相比,上述方法避免了必须将原语装箱到
Character
对象中的开销1在第一种方法中,字符串连接的轻微低效可能会被编译器或运行时优化掉,因此(如果有人这么倾向的话)必须运行一个微基准来确定实际性能。像这样的微优化很少值得付出努力,依靠串联来强制字符串转换看起来并不太好