String类的常用方法

发布时间:2024年01月23日

1.String类是一种引用类型的java类

public final class String implements java.io.Serializable,Comparable<String>,
CharSequence{
}

2.java编译器对String有特殊处理,允许可以直接用"..."来表示字符串:

String s1="...";
String s2="hello";

3.java中String字符串内部是通过一个char[ ]数组表示的,但是java在表示方法中提供了"..."表示方式。

String s=new String(new char[]{'h','e','l','l','o','!'});

4.字符串有一个特别特别特别重要的特点就是字符串不可以变。这是因为String类是通过private final char[ ]来实现的,并且没有任何修改char[ ]的方法实现。

public class Main{
    public static void main(String[] args){
        String s="hello";
        System.out.println(s);
         //s未指向新的字符串
        s.toUpperCase();
        System.out.println(s);
        //s重新指向新的字符串
        s=s.toUpperCase();
        System.out.println(s);
    }
}

字符串比较

字符串内容比较必须使用equals(),不能使用==关系运算符。

public class Main{
    public static void main(String[] args){
        String s1="hello";
        String s2="HELLO".toLowerCase();
        System.out.println(s1==s2);
        System.out.println(s1.equals(s2));
    }
}


s1与s2内容相同但是==却显示false。所以两个字符串比较必须使用equals()方法。忽略大小写比较使用equalsIgnoreCase()方法。

String常用的搜索方法

indexOf(),从字符串首部进行搜索,当前字符串中指定字符串的下标位置,返回int类型。如果存在,则返回该子字符串的下标位置,如果不存在,则返回-1。

lastIndexOf(),从字符串尾部进行搜索,返回值与indexOf()一样;

startWith()和endsWith()方法是用来判断字符串是否以指定字符串开头或结尾,返回boolean类型

contains()方法用于查找当前字符串是否存在指定子字符串,返回值为boolean类型

"hello".indexOf("l");//2
"hello".lastIndexOf("l");//3
"hello".startWith("he");//true
"hello".endsWith("lo");//true
"hello".contains("lo");//true

截取字符串:使用substring()方法从当前字符串中,截取指定下标的子字符串。

"这是乔治".substring(2);//乔治
"这是乔治".substring(0,2);//这是

去除首尾空白字符串:使用trim()方法移除字符串首尾空白字符。空白字符包括,\t,\r,\n;

"\thello\r\n".trim();//返回hello

替换字符串

1.根据字符或字符串替换

String s="hello";
s.replace('l','w');//hewwo
s.replace("ll","$");//he$o

2.通过正则表达式替换

String s="A,,B.C";
s.replaceAll("[\\,\\.]+"," ");//"A B C"

分割字符串:使用split()方法,并且传入正则表达式

public class demo10 {
public static void main(String[] args) {
	String city= "湖南#湖北#南京#北京#呼和浩特#乌鲁木齐";
	// 使用\\#;#在正则表达式子无特殊含义所以可以不加\\
	String[] m=city.split("#");
	System.out.println(Arrays.toString(m));
输出为:湖南,湖北,南京,北京,呼和浩特,乌鲁木齐
	

拼接字符串:使用join()

String[] arr={"A","B","C"};
String s=String.join("#",arr);
输出为:A#B#C

格式化字符串:使用format()

String s="Hi %s,your score is %d!";
System.out.println(s.format("Alice",80));//字符串对象调用
System.out.println(String.format("Hi %s ,your score is %2.f!","Bob",59.5));//字符串调用

文章来源:https://blog.csdn.net/weixin_63691530/article/details/135760472
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。