Java中String类的常用方法总结

作者:共饮一杯无 时间:2021-11-26 10:39:20 

概述

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

特点

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

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

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

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

"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]);
       }
   }

来源:https://juejin.cn/post/7160479139063922702

标签:Java,String类
0
投稿

猜你喜欢

  • Java File类的概述及常用方法使用详解

    2023-11-28 13:06:28
  • Spring MVC学习教程之视图深入解析

    2021-12-16 23:37:55
  • Hadoop1.2中配置伪分布式的实例

    2023-01-26 12:20:56
  • Java 动态数组的实现示例

    2022-02-27 07:05:25
  • Java后端Cookie实现(时间戳)代码实例

    2022-05-17 09:39:52
  • 微信公众号 网页授权登录及code been used解决详解

    2023-02-06 18:49:00
  • java多线程之线程同步七种方式代码示例

    2022-04-29 17:55:46
  • 如何利用java控制鼠标操作一些重复的事情

    2021-11-12 12:54:02
  • java中动态 代理的实现

    2023-11-17 16:16:25
  • Java实现蓝桥杯G将军的示例代码

    2022-05-01 08:44:58
  • Java单例模式的8种写法(推荐)

    2023-01-06 14:23:27
  • SQLite在C#中的安装与操作技巧

    2023-04-19 08:31:12
  • java模拟微信抢红包的实例代码

    2021-12-08 19:51:21
  • SpringBoot整合SpringSecurity实现JWT认证的项目实践

    2022-06-23 22:09:09
  • SpringBoot详细讲解yaml配置文件的用法

    2022-04-21 16:29:33
  • SpringBoot集成内存数据库H2的实践

    2023-03-20 22:44:34
  • Java实现CORS跨域请求的实现方法

    2022-04-01 19:49:18
  • Java实现五子棋的基础方法

    2021-07-11 12:32:08
  • 利用Java简单实现一个代码行数统计器方法实例

    2023-01-12 10:50:25
  • java开发之读写txt文件操作的实现

    2023-11-17 06:00:23
  • asp之家 软件编程 m.aspxhome.com