Java字符串操作及与C#字符串操作的不同

每种语言都会有字符串的操作,因为字符串是我们平常开发使用频率最高的一种类型。今天我们来聊一下Java的字符串操作及在某些具体方法中与C#的不同,对于需要熟悉多种语言的人来说,作为一种参考。进行诫勉

首先,什么是字符串?

字符串是字符的序列,是作为一种对象而存在。说的直白点,字符串就是一些字符的组合,从而构成字符串,例如“abc”就是字符串,"郭志奇"也是一种赐福穿。

我们知道,Java是一种面向对象的高级程序语言。所有事物均为对象,字符串也不例外,也是一种对象,其对应类型为String。

下面,我们分几种情况来进行说明字符串:

字符串的创建

字符串操作

字符串连接

字符串长度

字符串查找

获取指定索引的字符

去重空格

判断相等

大小写转换

字符串分隔

字符串比较

字符串创建

字符串必须先声明并进行初始化,才能使用,否则编译器会报出 变量未初始化错误。

请注意:Java中字符串定义的类型为String(第一个字母大写),对于C#程序员来说,看着不太舒服,因为c#中字符串定义为string (第一个字母小写),但C#中也是有String类的

创建字符串也分几种方式,可以根据需求灵活组织:

String(char a[])--Java代码 

1 char a[] = { 'a', 'b', 'c' }; 2 String source = new String(a); 3 System.out.println(source);//输出结果为abc

String(char a[],int offset,int length)--Java代码 

1 char a[] = { 'a', 'b', 'c' }; 2 String source = new String(a, 1, 2); 3 System.out.println(source);//输出为bc

字符串常量:

String source=“郭志奇”;

1 String source = "郭志奇"; 2 String source1 = "郭志奇"; 3 System.out.println(source == source1);// 输出true 4 System.out.println(source.equals(source1));// 输出true

此处简单提一下,Java中双等号== 表示的是引用是否相同,equals比较的是实际的字符串值。

对应的C#代码

1 string source = "郭志奇"; 2 string source1 = "郭志奇"; 3 Console.WriteLine(source==source1);//输出True 4 Console.WriteLine(source.Equals(source1));//输出True 5 Console.WriteLine(string.ReferenceEquals(source,source1));//输出True 6 Console.Read();

在C#中双等号以及equals比较的是实际的值,而refreshEquals比较的是引用是否相同。和Java略有不同。

字符串操作

字符串连接
通过加号+可以将两个字符串进行连接。请注意,字符串与其他类型连接,会自动调用其toString方法转换成字符串,然后进行拼接。
Java代码:

1 String source = "郭志奇"; 2 String source2 = "郭语晨"; 3 String source3 = source + source2; 4 System.out.println(source3);// 输出郭志奇郭语晨 5 String source4 = source + 521;// 字符串与数字拼接 6 System.out.println(source4);//输出郭志奇521


concat:字符串拼接

1 String source = "郭志奇"; 2 String source2 = "郭语晨"; 3 String source5 = source.concat(source2); 4 System.out.println(source5);// 输出郭志奇郭语晨

字符串长度
通过length()方法获取字符串长度。请注意:包含字符串中空格的长度。
Java代码:

1 String source = " 郭志奇 ";//前缀包含一个空格及一个tab 后缀包含一个空格 2 System.out.println(source.length());// 输出6

C#代码:
找茬:从C#输出的长度可以看到,Tab在Java中长度为1,而在C#长度为2. 英文tab

1 string source = " 郭志奇 "; 2 Console.WriteLine(source.Length);//输出7

字符串查找
两种字符串查找方法:
indexOf():从字符串开始位置进行查找

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/446f8bb6ad31cccc39ae9cea19c8818f.html