我在一些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;为什么不只返回separatorChar?
字符串是返回值的首选数据类型吗?既然这只是一个字符,为什么要使用字符串数据类型呢?
执行此转换是否会影响性能?
发布于 2019-08-15 04:32:12
一个是String,另一个是char。总是与String打交道,而不必检查它是否是char,这很有用。
发布于 2019-08-15 07:20:56
这是将字符转换为字符串的几种方法之一。尽管这曾经是从字符转换为字符串的较慢方法之一,但在Java6更新20中,随着-XX:+OptimizeStringConcat标志的引入,连接是将任何值转换为字符串的最快方法。从Java 7开始,默认情况下此选项处于打开状态。所以你是对的。这对性能有影响。这里有一个非常棒的帖子讨论了这一点:https://stackoverflow.com/a/44485322/1028560。
https://stackoverflow.com/questions/57501630
复制相似问题