使用char而不是String

时间:2014-01-02 10:17:10

标签: java string char

在Java中使用char有什么意义?

我知道char只能容纳一个字符,而String可以容纳句子,那么如果它只能容纳一个字符,那么使用char有什么意义呢?字符串也可以包含一个字符。

我听说过,例如,short可以使用比int少得多的数字,但它的优势在于它使用的内存要少得多,是否与char类似, String

6 个答案:

答案 0 :(得分:2)

就像有intint[]一样String是一系列char s。在某些情况下,您只需要一个字符而不是整个序列,在这种情况下,您使用char

答案 1 :(得分:1)

char数据类型不能保存“一个字符”,它可以保存一个16位无符号整数,可以在前65k组unicode字形中作为字形进行双重工作。它用于形成字符串(作为char[]),用于读取实时用户输入,每次用户按下一个键时都是一个字母。这是一种数据类型,我们遗憾地从unicode还很年轻的时期继承而来,而且这些天char数据类型太小而无法容纳所有“单个字母”我们已经确定是单个字母,所以{{1}在你想象的一些事情上会失败,事情会破裂,这就是为什么在字符串中有时候“真实字母”的数量和用于编码这些字母的字符/字节数是不同的。

答案 2 :(得分:0)

除了@Ivaylo Strandjev的回答之外,值得一提的是char类型是可变的,而字符串是不可变的。这在某些安全问题中可能很重要(您不希望永远存在密码/哈希值。)

答案 3 :(得分:0)

如果程序中只需要一个字符,最好使用Char而不是String。您可以使用String,但使用Char是最佳实践之一,有助于提高代码的性能。

答案 4 :(得分:0)

Char是java中的原始数据类型,只存储一个字符,而String基本上是对象,可以存储字符序列。它们的使用主要取决于它们的使用环境,并根据应用的需要而变化。

char []是可变的 wheres String不表示char数组中的任何更改都反映在创建的原始实例中,而对于String,则创建具有修改后的更改的新对象。

同样引用@TheLostMind“直到最近,你weren't allowed使用”Strings with Switch statements“,可以使用char。我也感觉”C / C ++“和其他语言都有char作为一种数据类型在“保持它”中扮演着重要角色“

您可以通过以下方式获得更好的主意:

Characters

Strings

还要看这个问题Difference between "char" and "String" in Java

答案 5 :(得分:0)

char是原始数据类型,而String是类。如果你只需要存储1个字符,使用char总是更好,因为它会消耗更少的内存也使用String来存储1个字符只是不需要,因为每个String也有很多方法与单个字符无关。因此,如果它只需要存储1个字符,那么使用char是更好的选择,原因如下。

  1. String需要创建一个对象来存储char,而char是一个基本类型,不会创建这样的对象。
  2. 内存较少,处理速度更快。
  3. 此外,char类型可以与+和 - 等算术运算符一起使用。

    因此,当你只需要存储一个字符并且不需要任何String方法时使用char,并且当有超过1个字符需要处理时使用String。

    阅读here了解更多详情