java substring Java String 类常用方法详解

java substring Java String 类常用方法详解

Java 类常用方法详解

在 Java 编程里,字符串操作十分常见,而 类作为 Java 标准库的核心类,用于表示不可变的字符序列。任何对字符串的修改操作都会返回一个新的字符串对象,不会改变原始字符串。本文将详细介绍 类的常用方法,并结合示例代码帮助理解。

一、 对象的创建

对象的创建主要有以下两种方式:

1. 直接赋值

这是最常见的创建字符串的方式,使用双引号将一系列字符括起来即可:

String str1 = "Hello, ";

2. 使用 new 关键字

通过对象实例化的方式,将需要创建的字符串作为构造参数传入:

String str2 = new String("Hello, Java");

若调用 类的无参构造方法,则会创建一个空字符串,不过这种方式很少使用:

String str3 = new String();

二、获取字符串长度

可以使用 () 方法来获取字符串的长度,示例代码如下:

public class StringMethod1 {
    public static void main(String[] args) {
        String str = "hello world!";
        int length = str.length();
        System.out.println("str的长度为:" + length);
    }
}

运行结果:

str的长度为:12

需要注意的是,字符串中的空格也算一个字符。

三、字符串查找1. 获取指定位置字符

使用 char (int index) 方法可以获取字符串指定位置的字符,索引下标从 0 开始。示例如下:

public class StringMethod2 {
    public static void main(String[] args) {
        String str = "I love Java";
        char c = str.charAt(7);
        System.out.println("索引位置为7的字符为:" + c);
    }
}

运行结果:

索引位置为7的字符为:J

2. 查找字符串位置

示例代码如下:

public class StringMethod2 {
    public static void main(String[] args) {
        String str = "I love Java, I love imooc!";
        // 获取字符在字符串中第一次出现的位置
        int i1 = str.indexOf('a');
        System.out.println("字符a在字符串str第一次出现的位置为:" + i1);
        // 获取子串在字符串中第一次出现的位置
        int i2 = str.indexOf("love");
        System.out.println("子串love在字符串str第一次出现的位置为:" + i2);
        // 获取字符在字符串中最后一次出现的位置
        int i3 = str.lastIndexOf('e');
        System.out.println("字符e在字符串str最后一次出现的位置为:" + i3);
        // 获取子串在字符串中最后一次出现的位置
        int i4 = str.lastIndexOf("I love");

java substring

System.out.println("子串I love在字符串str最后一次出现的位置为:" + i4); // 查找不存在的字符 int i5 = str.indexOf('E'); System.out.println("查找不存在的字符E的结果为:" + i5); } }

运行结果:

字符a在字符串str第一次出现的位置为:8
子串love在字符串str第一次出现的位置为:2
字符e在字符串str最后一次出现的位置为:18
子串I love在字符串str最后一次出现的位置为:13
查找不存在的字符E的结果为:-1

需要注意的是,以上方法的参数都是区分大小写的,如果没有找到指定的字符或子串,会返回 -1。

四、字符串截取

可以使用 () 方法来获取子串java substring Java String 类常用方法详解, 类中有两个重载的实例方法:

示例代码如下:

public class StringMethod3 {
    public static void main(String[] args) {
        String str = "I love Java";
        String substring1 = str.substring(2);
        String substring2 = str.substring(2, 6);
        System.out.println("从索引位置2到结束的子串为:" + substring1);
        System.out.println("从索引位置2到索引位置6的子串为:" + substring2);
    }
}

运行结果:

从索引位置2到结束的子串为:love Java
从索引位置2到索引位置6的子串为:love

五、字符串切割1. 切割为子串数组

使用 split( regex) 方法可将字符串切割为子串,其参数 regex 是一个正则表达式分隔符java substring,返回字符串数组。示例如下:

public class StringMethod4 {
    public static void main(String[] args) {
        String str1 = "I love Java";
        String[] strArr = str1.split(" ");
        for (String str : strArr) {
            System.out.print(str + "t");
        }
    }
}

运行结果:

I	love	Java

对于一些特殊的分隔符,如 *、^、:、|、. 等,需要使用转义字符转义。例如:

// 以 * 切割
String str2 = "I*love*Java";
String[] strArr2 = str2.split("\*");
// 以  切割
String str3 = "I\love\Java";
String[] strArr3 = str3.split("\\");
// 以 | 切割
String str4 = "I|love|Java";
String[] strArr4 = str4.split("\|");

另外,还有一个重载方法 split( regex, int limit),其第二个参数 limit 用以控制正则匹配被应用的次数,会影响结果的长度。

2. 切割为 byte 数组

java substring

在实际工作中java substring Java String 类常用方法详解,网络上的数据传输通常使用二进制字节数据,因此字符串和字节数组之间的相互转换很常用。可以使用 () 方法将字符串转换为 byte 数组java substring,示例如下:

public class StringMethod4 {
    public static void main(String[] args) {
        String str2 = "我喜欢Java";
        System.out.println("将字符串转换为byte数组:");
        byte[] ascii = str2.getBytes();
        for (byte aByte : ascii) {
            System.out.print(aByte + "t");
        }
        // 将字节数组转换为字符串
        String s = new String(ascii);
        System.out.println("n将字节数组转换为字符串:" + s);
    }
}

六、字符串大小写转换

字符串的大小写转换有两个方法:

示例代码如下:

public class StringMethod5 {
    public static void main(String[] args) {
        String str = "HELLO world";
        String s1 = str.toLowerCase();
        System.out.println("字符串str转换为小写后为:" + s1);
        String s2 = s1.toUpperCase();
        System.out.println("字符串s1转换为大写后为:" + s2);
        // 实现大小写互换
        String[] strArr = str.split(" ");
        String result = strArr[0].toLowerCase() + " " + strArr[1].toUpperCase();
        System.out.println("字符串str的大小写互换后为:" + result);
    }
}

运行结果:

字符串str转换为小写后为:hello world
字符串s1转换为大写后为:HELLO WORLD
字符串str的大小写互换后为:hello WORLD

七、字符串比较

类提供了 ( ) 方法来比较字符串内容是否相同,返回一个布尔类型的结果。需要特别注意的是,在比较字符串内容是否相同时,必须使用 () 方法而不能使用 == 运算符。示例代码如下:

public class StringMethod6 {
    public static void main(String[] args) {
        String str1 = "hello";
        String str2 = "hello";
        String str3 = new String("hello");
        System.out.println("使用equals()方法比较str1和str2的结果为:" + str1.equals(str2));
        System.out.println("使用==运算符比较str1和str2的结果为:" + (str1 == str2));
        System.out.println("使用equals()方法比较str1和str3的结果为:" + str1.equals(str3));
        System.out.println("使用==运算符比较str1和str3的结果为:" + (str1 == str3));
    }
}

运行结果:

使用equals()方法比较str1和str2的结果为:true
使用==运算符比较str1和str2的结果为:true
使用equals()方法比较str1和str3的结果为:true
使用==运算符比较str1和str3的结果为:false

== 运算符比较的是两个变量的地址而不是内容。当使用直接赋值的方式创建字符串时,相同内容的字符串会指向常量池中的同一个对象;而使用 new 关键字创建字符串对象时,会在堆空间实例化一个新的对象。

八、小结

本文介绍了 Java 类的常用方法:

这些方法大多有重载方法,实际工作中,要根据合适的场景选用对应的重载方法。此外java substring, 类还有很多未介绍到的方法,使用时可以翻阅官网文档进行学习。

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » java substring Java String 类常用方法详解

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们