为什么在返回值之前将字符串与空值连接起来?
Why concatenate strings with an empty value before returning the value?
我在某些 java 库中看到 return 字符串值与空值连接。
例如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;
为什么不 return 只有 separatorChar?
字符串是 return 值的首选数据类型吗?反正这只是一个字符,为什么要使用字符串数据类型?
执行此转换对性能有影响吗?
一个是String
,另一个是char
。始终处理 String
而不是必须检查它是否是 char
.
很有用
这是将字符转换为字符串的几种方法之一。尽管这曾经是从 char 转换为 String 的较慢方法之一,但随着 java 6 update 20,随着 -XX:+OptimizeStringConcat 标志的引入,串联是将任何值转换为字符串的最快方法.自 Java 7 起,此选项默认打开。所以你是对的。有性能影响。这是一个非常棒的 post 讨论这个问题:.
我在某些 java 库中看到 return 字符串值与空值连接。
例如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;
为什么不 return 只有 separatorChar?
字符串是 return 值的首选数据类型吗?反正这只是一个字符,为什么要使用字符串数据类型?
执行此转换对性能有影响吗?
一个是String
,另一个是char
。始终处理 String
而不是必须检查它是否是 char
.
这是将字符转换为字符串的几种方法之一。尽管这曾经是从 char 转换为 String 的较慢方法之一,但随着 java 6 update 20,随着 -XX:+OptimizeStringConcat 标志的引入,串联是将任何值转换为字符串的最快方法.自 Java 7 起,此选项默认打开。所以你是对的。有性能影响。这是一个非常棒的 post 讨论这个问题:.