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,
上一篇: Test