当前位置: 首页 > 面试题库 >

Java 如何将字符转换为字符串?

司徒锐进
2023-03-14
问题内容

我有一个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 " 我该怎么做?