我有一个char
,我需要一个String
。如何从一个转换为另一个?
好问题。我有以下五种 6种方法可以做到这一点。
// #1
String stringValueOf = String.valueOf('c'); // most efficient
// #2
String stringValueOfCharArray = String.valueOf(new char[]{x});
// #3
String characterToString = Character.toString('c');
// #4
String characterObjectToString = new Character('c').toString();
// #5
// Although this method seems very simple,
// this is less efficient because the concatenation
// expands to new StringBuilder().append(x).append("").toString();
String concatBlankString = 'c' + "";
// #6
String fromCharArray = new String(new char[]{x});
注意:Character.toString(char)
返回String.valueOf(char)
。因此有效地两者是相同的。
String.valueOf(char[] value)
调用new String(char[] value)
,这又设置了valuechar
数组。
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。
问题内容: 我发现了有关从java字符串获取java.util.streams.IntStream的问题,但是由于我使用的是Java 8,所以我没有找到此方法。 更正:正如你们指出的那样,我正在使用Java7。现在该方法就在那里。但问题仍然适用: 如何从字符串中获取a ? 问题答案: 我会指出较早的关于这个主题的答案,但是事实证明您已经与这个问题联系了。在对方的回答也提供了有用的信息。 如果需要值
有没有办法将Java转换为(而不是装箱的)? 在尝试此过程中: 我得到了不同的输出。无法显示第一个输出,因为它是gzip字符串。 第二个是地址。我做错什么了吗?我需要一个中的结果来将其馈送到gzip解压缩器,如下所示。
问题内容: 我正在阅读有关python的新f字符串的 博客 ,它们看起来很整洁。但是,我希望能够从字符串或文件中加载f字符串。 我似乎找不到任何执行此操作的字符串方法或其他函数。 从上面我的链接中的示例: 但是,如果我有琴弦怎么办?我希望能够像这样: 事实证明,我已经可以执行类似的操作并获得性能提高。即: 问题答案: f字符串是代码。不仅以安全的方式(当然,字符串文字就是代码),而且以危险的任意代
更正:正如你们所指出的,我使用的是Java7。现在,方法就在那里。但问题仍然适用: 如何从字符串中获取?
问题内容: 有什么方法可以将Java转换而不是盒装)? 在尝试这个: 我得到单独的输出。由于是gzip字符串,因此无法显示第一个输出。 第二个是地址。我做错了什么吗?我需要将结果byte[]送入gzip解压缩器,如下所示。 问题答案: 你的方法需要的对象是。 因此,对你提出的问题的基本技术回答是: 但是,你似乎在努力解决的问题是,它显示得不是很好。调用toString()只会为你提供默认名称,即类
我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?