写点什么

Java 中的 String 类常用方法

作者:共饮一杯无
  • 2022-11-19
    浙江
  • 本文字数:3011 字

    阅读完需:约 10 分钟

Java中的String类常用方法

String 类概述

概述

java.lang.String 类代表字符串。Java 程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实例。类 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。

特点

  1. 字符串不变:字符串的值在创建后不能被更改。


String s1 = "abc";s1 += "d";System.out.println(s1); // "abcd"// 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。
复制代码


  1. 因为 String 对象是不可变的,所以它们可以被共享。


String s1 = "abc";String s2 = "abc";// 内存中只有一个"abc"对象被创建,同时被s1和s2共享。
复制代码


  1. "abc" 等效于 char[] data={ 'a' , 'b' , 'c' } 。


例如:String str = "abc";相当于:char data[] = {'a', 'b', 'c'};String str = new String(data);// String底层是靠字符数组实现的。
复制代码

使用步骤

  • 查看类


java.lang.String :此类不需要导入。


  • 查看构造方法


public String() :初始化新创建的 String 对象,以使其表示空字符序列。public String(char[] value) :通过当前参数中的字符数组来构造新的 String。public String(byte[] bytes) :通过使用平台的默认字符集解码当前参数中的字节数组来构造新的 String。构造举例,代码如下:


// 无参构造String str = new String();// 通过字符数组构造char chars[] = {'a', 'b', 'c'};String str2 = new String(chars);// 通过字节数组构造byte bytes[] = { 97, 98, 99 };String str3 = new String(bytes);
复制代码

常用方法

判断功能的方法

  • public boolean equals (Object anObject) :将此字符串与指定对象进行比较。

  • public boolean equalsIgnoreCase (String anotherString) :将此字符串与指定对象进行比较,忽略大小


写。方法演示,代码如下:


public class String_Demo01 {    public static void main(String[] args) {        // 创建字符串对象        String s1 = "zjq";        String s2 = "zjq";        String s3 = "ZJQ";        // boolean equals(Object obj):比较字符串的内容是否相同        System.out.println(s1.equals(s2)); // true        System.out.println(s1.equals(s3)); // false        System.out.println("‐‐‐‐‐‐‐‐‐‐‐");        //boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写        System.out.println(s1.equalsIgnoreCase(s2)); // true        System.out.println(s1.equalsIgnoreCase(s3)); // true        System.out.println("‐‐‐‐‐‐‐‐‐‐‐");    }}
复制代码


Object 是” 对象”的意思,也是一种引用类型。作为参数类型,表示任意对象都可以传递到方法中。

获取功能的方法

  • public int length () :返回此字符串的长度。

  • public String concat (String str) :将指定的字符串连接到该字符串的末尾。

  • public char charAt (int index) :返回指定索引处的 char 值。

  • public int indexOf (String str) :返回指定子字符串第一次出现在该字符串内的索引。

  • public String substring (int beginIndex) :返回一个子字符串,从 beginIndex 开始截取字符串到字符串结尾。

  • public String substring (int beginIndex, int endIndex) :返回一个子字符串,从 beginIndex 到 endIndex 截取字符串。含 beginIndex,不含 endIndex。


方法演示,代码如下:


public class String_Demo02 {    public static void main(String[] args) {        //创建字符串对象        String s = "helloworld";        // int length():获取字符串的长度,其实也就是字符个数        System.out.println(s.length());        System.out.println("‐‐‐‐‐‐‐‐");        // String concat (String str):将将指定的字符串连接到该字符串的末尾.        String s = "helloworld";        String s2 = s.concat(" zjq666");        System.out.println(s2);// helloworld  zjq666        // char charAt(int index):获取指定索引处的字符        System.out.println(s.charAt(0));        System.out.println(s.charAt(1));        System.out.println("‐‐‐‐‐‐‐‐");        // int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回‐1        System.out.println(s.indexOf("l"));        System.out.println(s.indexOf("owo"));        System.out.println(s.indexOf("zhanj"));        System.out.println("‐‐‐‐‐‐‐‐");        // String substring(int start):从start开始截取字符串到字符串结尾        System.out.println(s.substring(0));        System.out.println(s.substring(5));        System.out.println("‐‐‐‐‐‐‐‐");        // String substring(int start,int end):从start到end截取字符串。含start,不含end。        System.out.println(s.substring(0, s.length()));        System.out.println(s.substring(3,8));    }}
复制代码

转换功能的方法

  • public char[] toCharArray () :将此字符串转换为新的字符数组。

  • public byte[] getBytes () :使用平台的默认字符集将该 String 编码转换为新的字节数组。

  • public String replace (CharSequence target, CharSequence replacement) :将与 target 匹配的字符串使用 replacement 字符串替换。


方法演示,代码如下:


    public static void main(String[] args) {        // 转换成为字符数组        char[] chars = "Hello".toCharArray();        System.out.println(chars[0]); // H        System.out.println(chars.length); // 5        System.out.println("==============");
// 转换成为字节数组 byte[] bytes = "abc".getBytes(); for (int i = 0; i < bytes.length; i++) { System.out.println(bytes[i]); } System.out.println("==============");
// 字符串的内容替换 String str1 = "How do you do?"; String str2 = str1.replace("o", "*"); System.out.println(str1); // How do you do? System.out.println(str2); // H*w d* y*u d*? System.out.println("==============");
String lang1 = "会不会玩儿呀!你大爷的!你大爷的!你大爷的!!!"; String lang2 = lang1.replace("你大爷的", "****"); System.out.println(lang2); // 会不会玩儿呀!****!****!****!!! }
复制代码


CharSequence 是一个接口,也是一种引用类型。作为参数类型,可以把 String 对象传递到方法中。

分割功能的方法

  • public String[] split(String regex) :将此字符串按照给定的 regex(规则)拆分为字符串数组。


方法演示,代码如下:


public static void main(String[] args) {        String str1 = "aaa,bbb,ccc";        String[] array1 = str1.split(",");        for (int i = 0; i < array1.length; i++) {            System.out.println(array1[i]);        }    }
复制代码


本文内容到此结束了,

如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。

如有错误❌疑问💬欢迎各位大佬指出。

主页共饮一杯无的博客汇总👨‍💻

保持热爱,奔赴下一场山海。🏃🏃🏃

发布于: 刚刚阅读数: 5
用户头像

鲜衣怒马意气风发,愿你归来仍是少年。 2018-10-19 加入

全栈开发者,CSDN博客专家,51CTO 专家博主,阿里云专家博主,华为云享专家,持续输出干货,欢迎关注。

评论

发布
暂无评论
Java中的String类常用方法_Java_共饮一杯无_InfoQ写作社区