在Java中使用char有什么意义?
我知道char
只能容纳一个字符,而String
可以容纳句子,那么如果它只能容纳一个字符,那么使用char
有什么意义呢?字符串也可以包含一个字符。
我听说过,例如,short
可以使用比int
少得多的数字,但它的优势在于它使用的内存要少得多,是否与char
类似, String
?
答案 0 :(得分:2)
就像有int
和int[]
一样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作为一种数据类型在“保持它”中扮演着重要角色“
您可以通过以下方式获得更好的主意:
答案 5 :(得分:0)
char是原始数据类型,而String是类。如果你只需要存储1个字符,使用char总是更好,因为它会消耗更少的内存也使用String来存储1个字符只是不需要,因为每个String也有很多方法与单个字符无关。因此,如果它只需要存储1个字符,那么使用char是更好的选择,原因如下。
此外,char类型可以与+和 - 等算术运算符一起使用。
因此,当你只需要存储一个字符并且不需要任何String方法时使用char,并且当有超过1个字符需要处理时使用String。
阅读here了解更多详情