欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#和Java中字符串的异同

程序员文章站 2022-07-07 15:32:23
字符串 在底层上跟C 类似,每个字符串的实例都不可修改。当修改字符串变量时,是将变量指向新的字符串实例,而不是修改原本的实例。Java中也有字符串池机制。 注意:使用 运算符比较字符串时,跟C 有根本上的差别。在Java中这里的 操作符相当于C 中的 方法。 Java中比较字符串要使用 方法,忽略大 ......
字符串

在底层上跟C#类似,每个字符串的实例都不可修改。当修改字符串变量时,是将变量指向新的字符串实例,而不是修改原本的实例。Java中也有字符串池机制。

注意:使用 == 运算符比较字符串时,跟C#有根本上的差别。在Java中这里的 == 操作符相当于C#中的 Object.ReferenceEquals(strA, strB) 方法。

Java中比较字符串要使用 equals 方法,忽略大小写比较时使用 equalsIgnoreCase 方法。

码点和代码单元

Java字符串由char值序列组成。char数据类型是一个采用UTF-16编码表示Unicode码点的代码单元。大多数常用Unicode字符使用一个代码单元就可以表示,而辅助字符需要一对代码单元表示。length 方法将返回采用UTF-16编码表示的给定字符串所需要的代码单元数量。

String str = "Hello, \uD842\uDFB7!";
System.out.println(str); // Hello,