String是Java库中预定义的类,属于引用类型,使用它的变量称为引用变量,用于引用对象。


目录

  • 声明
  • 求字符串长度
  • 从字符串中获取字符
  • 从字符串中查找字符
  • 从字符串中获得子串
  • 从字符串中查找子串
  • 连接字符串
  • 字符串的大小写转换
  • 字符串与数字转换
  • 字符串的比较
  • 删除字符串前后空格


声明

String类型的声明和初始化与基本类型相同,如下

String message = "Hello World";

求字符串长度

调用字符串的length()方法获得长度,如

int len = message.length();

也可对字符串常量直接使用length()方法,如

int len = "Hello World!".length();

从字符串中获取字符

charAt(index)方法可以获得字符串中的特定字符,index表示下标,如

char c = message.charAt(0);

下标的取值要求大于等于0,且小于等于message.length()-1,上面代码获取的是字符串的第1个字符H。

从字符串中查找字符

使用indexOf()lastIndexOf()方法可从字符串中查找字符。

方法

作用

indexOf(ch)

返回字符串中第一个ch的下标。如果不存在,则返回-1

lastIndexOf(ch)

返回字符串中最后一个ch的下标。如果不存在,则返回-1

indexOf(ch, fromIndex)

返回从fromIndex之后出现的第一个ch的下标。如果不存在,则返回-1

lastIndexOf(ch, fromIndex)

返回从fromIndex之前出现的最后一个ch的下标。如果不存在,则返回-1

从字符串中获得子串

使用substring()方法提取子串。

方法

作用

substring(beginIndex)

返回从beginIndex开始到结尾的子串

substring(beginIndex, endIndex)

返回从beginIndex开始,到endIndex-1的子串

从字符串中查找子串

同样使用index()lastIndexOf()方法从字符串中查找子串。

方法

作用

indexOf(s)

返回字符串中出现的第一个字符串s的下标,如果不存在,则返回-1

lastIndexOf(s)

返回字符串中出现的最后一个字符串s的下标,如果不存在,则返回-1

indexOf(s, fromIndex)

返回字符串fromIndex之后出现的第一个字符串s的下标。如果不存在,则返回-1

lastIndexOf(s,fromIndex)

返回字符串fromIndex之前出现的最后一个字符串s的下标。如果不存在,则返回-1

连接字符串

可使用concat()方法连接2个字符串,如

String s1 = "Hello ";
String s2 = "World!";
String s3 = s1.concat(s2);

也可使用+连接2个或多个字符串,如

String message = "Hello" + " " + "World";

如果加号+连接的一边是字符串,另一边不是字符串,则把非字符串转化成字符串,然后进行连接。

同理,+=也可连接字符串。

字符串的大小写转换

方法

作用

toLowerCase()

字符串中的字符都转换为小写

toUpperCase()

字符串中的字符都转换为大写

message.toLowerCase();  // 返回 "hello world" 
message.toUpperCase();  // 返回 ”HELLO WORLD"

字符串与数字转换

  • 字符串转为数字

将字符串转化为int值,使用Integer.parseInt()方法,如

int value = Integer.parseInt(str);

如果是要转化为double值,使用Double.parseDouble()方法。

  • 数字转为字符串

在上文字符串连接中讲过加号+连接字符串的作用,因此可通过数字+空字符串的形式,将数字转化为字符串,如

String s = 3 + "";

字符串的比较

  • 判断两个字符串是否相等

方法

作用

equals()

比较两个字符串是否相等,相等返回true

equalsIgnoreCase()

不区分大小写地比较两个字符串是否相等,相等返回true

判断2个字符串是否相等不能使用==,该符号表示判断这2个字符串是否指向同一个对象。

  • 大小比较

方法

作用

compareTo()

比较两个字符串大小,返回大于0、等于0、小于0的数,分别表示大于、等于、小于

compareToIgnoreCase()

不分大小写地比较两个字符串大小,返回大于0、等于0、小于0的数,分别表示大于、等于、小于

  • 比较前缀和后缀

方法

作用

startsWith(prefix)

字符串以prefix为前缀,则返回true

endsWith(suffix)

字符串以suffix为后缀,则返回true

  • 判断是否包含

contain(s)方法用于判断字符串是否包含s,也即判断s是不是字符串的子串。

删除字符串前后空格

trim()方法删除字符串前面和后面多余的空格,如

"  Hello World  ".trim();

删除了H前和d后的空格,返回”Hello World“。

该方法不会删除字符串中间的空格。