java字符串中常用的10个方法

简介: java字符串中常用的10个方法

前言

java中没有内置的字符串类型,而是标准Java类库中提供了一个预定义类,所以字符串也叫做String,每个String类都是由双引号(“”)引起来的,String在java中也是非常重要的,下面让我们一起复习一下String类的10个常用方法。


一、字符串的构造

1.使用常量进行直接赋值构造

String str="hello java";

2.使用new String对象

String str1=new String("hello");

3.使用字符数组进行构造

char[] arr={'j','a','v','a'};
  String str2=new String(arr);

注意

需要注意的是String是引用类型,内部存储的并不是字符串本身。

二、字符串的比较

1.==比较

在String中==比较的是引用的字符串对象是否为同一个

String str3="999";
        String str4="999";
        String str5=new String("999");
        System.out.println(str3==str4);
        //打印true
        System.out.println(str3==str5);
        //打印false

2.equals方法比较

equals方法接收类型为Object类型,返回类型为布尔类型,比较的是两个对象中的内容是否相同

String str3="999";
 tring str5=new String("999");
 System.out.println(str3.equals(str5));
 //打印true

3. compareTo方法比较

compareTo方法接收类型为String类型,返回值为int类型。

比较方法为:

  1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值。
  2. 如果前k个字符都相等,只是长度不同,那么返回两个字符串长度差值。
String str6="hello";
        String str7="help";
        String str8="help me";
        System.out.println(str6.compareTo(str7));
        //打印-4,l与p的字符大小差值
        System.out.println(str7.compareTo(str8));
        //打印-3,长度差值

4.compareToIgnoreCase(String str)方法

次方法与compareTo方法比较形式大致相同,只是不区分字符串大小写。

三、字符串的查找

1.charAt(int index)方法

此方法返回index位置上字符,如果index为负数或者越界,抛出IndexOutOfBoundsException异常

String str9="sleep";
       System.out.println(str9.charAt(2));
       //打印e

2.indexOf(String str)方法

此方法为返回str第一次出现的位置,没有返回-1。

String str10="hello java";
        System.out.println(str10.indexOf("lo"));
        //打印3

四、字符串类型与其它类型的相互转化

1.字符串转数字

不同基本类型对应不同包装类,方法名后缀不相同。

String str11="1314520";
        int a=Integer.parseInt(str11);
        System.out.println(a);
        //打印数字1314520

2.字符串转数组

使用toCharArray方法转为数组

String str12="name";
        char[] arr1=str12.toCharArray();
        for (char c :arr1) {
            System.out.print(c);
        }
        //打印name

五、字符串替换

接收类型与返回类型皆为String类型

replaceAll与replaceFirst分别为替换所有指定内容与替换首指定内容

String str13="hello";
        System.out.println(str13.replaceAll("lo", "p"));
        //打印help
        System.out.println(str13.replaceFirst("l", "e"));
        //打印heelo

六、字符串拆分

将字符串以指定的格式全部拆分

将字符串以指定的格式,拆分为limit组

String str14="123456789";
        String[] arr2=str14.split("");
        String[] arr3=str14.split("",4);
        System.out.println(arr2.length);
        //打印9
        System.out.println(arr3.length);
        //打印4

七、字符串截取

String substring(开始截取的下标, 开始不截取的下标)

String str15="java";
        System.out.println(str15.substring(1, 3));
        //打印av

八、大小写转换

将字符串全部变为小写

将字符串全部变为大写

String str16="AbC";
        System.out.println(str16.toLowerCase());
        //打印abc
        String str17="aBc";
        System.out.println(str17.toUpperCase());
        //打印ABC

九、字符串去空格

String trim()

作用:去掉字符串中的左右空格,保留中间空格

String str18="  o o  ";
        System.out.println(str18);
        //打印  o  o
        System.out.println(str18.trim());
        //打印o  o

十、字符串拼接

1.+号连接

String str19="hel";
        String str20="lo";
        System.out.println(str19+str20);
        //打印hello

2.join方法

第一个参数为分隔符,后面参数为需要放在一起的元素。

String str21=String.join("","j","a","v","a");
        System.out.println(str21);
        //打印java

总结

以上就是今天要讲的内容,本文仅仅简单复习了一些以字符串为操作对象的方法的使用,而String中提供了大量能使我们快速便捷地处理字符串的方法,这些需要我们一个一个的敲一敲。


相关文章
|
17天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
91 60
|
6天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
22 6
|
8天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
41 4
|
19天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
39 17
|
13天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
18 2
|
21天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
15 3
|
21天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
14 2
|
21天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
14 1
|
21天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
27 1
|
21天前
|
Java
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅。它们用于线程间通信,使线程能够协作完成任务。通过这些方法,生产者和消费者线程可以高效地管理共享资源,确保程序的有序运行。正确使用这些方法需要遵循同步规则,避免虚假唤醒等问题。示例代码展示了如何在生产者-消费者模型中使用`wait()`和`notify()`。
22 1