我有一个,我需要一个.如何从一个转换为另一个?char
String
网友回答:
我有以下五种方法可以做到这一点。
// Method #1
String stringValueOf = String.valueOf('c'); // most efficient
// Method #2
String stringValueOfCharArray = String.valueOf(new char[]{x});
// Method #3
String characterToString = Character.toString('c');
// Method #4
String characterObjectToString = new Character('c').toString();
// Method #5
// Although this approach seems very simple,
// this is less efficient because the concatenation
// expands to a StringBuilder.
String concatBlankString = 'c' + "";
// Method #6
String fromCharArray = new String(new char[]{x});
注意:Character.toString(char) 返回 String.valueOf(char)。所以实际上两者是相同的。
String.valueOf(char[] value)
调用,进而设置 char 数组。new String(char[] value)
value
public String(char value[]) {
this.value = Arrays.copyOf(value, value.length);
}
另一方面,调用以下包私有构造函数。String.valueOf(char value)
String(char[] value, boolean share) {
// assert share : "unshared not supported";
this.value = value;
}
来自 String.java
的源代码,在 Java 8 源代码中
因此,就内存和速度而言,似乎是转换为 .
String.valueOf(char)
char
String
来源:
网友回答:
您可以使用 .请注意,此方法仅返回对 的调用,这同样有效。Character.toString(char)
String.valueOf(char)
正如其他人所指出的,字符串连接也可以用作快捷方式:
String s = "" + 's';
但这可以编译为:
String s = new StringBuilder().append("").append('s').toString();
效率较低,因为 由 (由 to 过度分配)支持,仅供生成的 防御性复制该数组。StringBuilder
char[]
StringBuilder()
16
String
String.valueOf(char)
“进入后门”,方法是将 包装在单元素数组中并将其传递给包私有构造函数,从而避免数组复制。char
String(char[], boolean)
网友回答:
以下是从字符 c 转换为字符串 s 的各种方法(按速度和效率的降序排列)
char c = 'a';
String s = String.valueOf(c); // fastest + memory efficient
String s = Character.toString(c);
String s = new String(new char[]{c});
String s = String.valueOf(new char[]{c});
String s = new Character(c).toString();
String s = "" + c; // slowest + memory inefficient
模板简介:该模板名称为【如何将字符转换为字符串?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Java】栏目查找您需要的精美模板。