我已经在一些Java库中看到,当返回一个字符串时,该值将与一个空值连接在一起。
例如package java.io;
/**
* The system-dependent default name-separator character, represented as a
* string for convenience. This string contains a single character, namely
* <code>{@link #separatorChar}</code>.
*/
public static final String separator = "" + separatorChar;
为什么不只返回spacerChar?
字符串是否是返回值的首选数据类型?不管怎么说,为什么这只是一个字符?为什么使用字符串数据类型?
进行此转换是否会对性能产生影响?
答案 0 :(得分:5)
一个是String
,另一个是char
。始终处理String
很有用,而不是必须检查它是否是char
。
答案 1 :(得分:3)
这是将char转换为String的几种方法之一。尽管这曾经是从char转换为String的较慢方法之一,但自Java 6 update 20起,通过引入-XX:+ OptimizeStringConcat标志,串联是将任何值转换为string的最快方法。从Java 7开始,此选项默认为打开。所以你是对的。有性能影响。这是一篇非常好的文章,讨论了这个问题:https://stackoverflow.com/a/44485322/1028560。