Java中String方法学习总结_kaic

简介: Java中String方法学习总结_kaic

String详解

Java中的String是一个不可变的字符序列,它是Java中最常用的数据类型之一。

常用构造方法

String():无参构造方法,创建一个空字符串对象。

String(char[] value):通过字符数组创建一个字符串对象。

String(char[] value, int offset, int count):通过字符数组的一部分创建一个字符串对象,从指定的

   偏移量开始,取count个字符。

String(byte[] bytes):通过字节数组创建一个字符串对象,使用平台的默认字符集将字节解码为字符。

String(byte[] bytes, int offset, int length):通过字节数组的一部分创建一个字符串对象,从指定的

   偏移量开始,取length个字节,并使用平台的默认字符集将字节解码为字符。

String(String original):通过复制原始字符串创建一个新的字符串对象。

String(StringBuffer buffer):通过StringBuffer对象创建一个字符串对象。

String(StringBuilder builder):通过StringBuilder对象创建一个字符串对象。

代码演示

public class crj{

   public static void main(String[] args) {

       // 无参构造方法

       String str1 = new String();

       System.out.println("str1: " + str1);

               // 输出:str1:

       // 通过字符数组创建字符串对象

       char[] charArray = {'H', 'e', 'l', 'l', 'o'};

       String str2 = new String(charArray);

       System.out.println("str2: " + str2);

               // 输出:str2: Hello

       // 通过字符数组的一部分创建字符串对象

       String str3 = new String(charArray, 2, 3);

       System.out.println("str3: " + str3);

               // 输出:str3: llo

       // 通过字节数组创建字符串对象

       byte[] byteArray = {72, 101, 108, 108, 111};

       String str4 = new String(byteArray);

       System.out.println("str4: " + str4);

               // 输出:str4: Hello

       // 通过字节数组的一部分创建字符串对象

       String str5 = new String(byteArray, 2, 3);

       System.out.println("str5: " + str5);

               // 输出:str5: llo

       // 通过复制原始字符串创建新的字符串对象

       String original = "Hello";

       String str6 = new String(original);

       System.out.println("str6: " + str6);

               // 输出:str6: Hello

       // 通过StringBuffer对象创建字符串对象

       StringBuffer buffer = new StringBuffer("Hello");

       String str7 = new String(buffer);

       System.out.println("str7: " + str7);

                   // 输出:str7: Hello

       // 通过StringBuilder对象创建字符串对象

       StringBuilder builder = new StringBuilder("Hello");

       String str8 = new String(builder);

       System.out.println("str8: " + str8);

               // 输出:str8: Hello

   }

}

常用成员方法

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

char charAt(int index):返回指定索引位置的字符。

int indexOf(String str):返回指定子字符串在字符串中第一次出现的索引位置。

int lastIndexOf(String str):返回指定子字符串在字符串中最后一次出现的索引位置。

boolean startsWith(String prefix):判断字符串是否以指定的前缀开始。

boolean endsWith(String suffix):判断字符串是否以指定的后缀结束。

boolean isEmpty():判断字符串是否为空。

String substring(int beginIndex):返回从指定索引位置开始到字符串末尾的子字符串。

String substring(int beginIndex, int endIndex):返回从指定的开始索引位置到结束索引位置的子字

   符串。

String replace(char oldChar, char newChar):将字符串中的所有旧字符替换为新字符。

String replace(CharSequence target, CharSequence replacement):将字符串中的所有目标字符序列替换为指定的

   替换字符序列。

String[] split(String regex):将字符串根据指定的正则表达式分割为字符串数组。

String trim():去除字符串两端的空白字符。

boolean equals(Object obj):判断字符串是否与指定对象相等。

boolean equalsIgnoreCase(String anotherString):忽略大小写判断字符串是否与另一个字符串相等。

String toLowerCase():将字符串转换为小写。

String toUpperCase():将字符串转换为大写。

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

boolean contains(CharSequence sequence):判断字符串是否包含指定的字符序列。

String format(String format, Object... args):将指定格式的字符串与参数进行格式化。

代码示例

public class StringMethodsDemo {

   public static void main(String[] args) {

       String str = "Hello, World!";

       // length()

       int length = str.length();

       System.out.println("Length: " + length);

           // 输出:Length: 13

       // charAt(int index)

       char ch = str.charAt(7);

       System.out.println("Character at index 7: " + ch);

            // 输出:Character at index 7: W

       // indexOf(String str)

       int index = str.indexOf("World");

       System.out.println("Index of 'World': " + index);

           // 输出:Index of 'World': 7

       // lastIndexOf(String str)

       int lastIndex = str.lastIndexOf("o");

       System.out.println("Last index of 'o': " + lastIndex);

           // 输出:Last index of 'o': 8

       // startsWith(String prefix)

       boolean startsWith = str.startsWith("Hello");

       System.out.println("Starts with 'Hello': " + startsWith);

           // 输出:Starts with 'Hello': true

       // endsWith(String suffix)

       boolean endsWith = str.endsWith("World");

       System.out.println("Ends with 'World': " + endsWith);

           // 输出:Ends with 'World': false

       // isEmpty()

       boolean isEmpty = str.isEmpty();

       System.out.println("Is empty: " + isEmpty);

           // 输出:Is empty: false

       // substring(int beginIndex)

       String substring1 = str.substring(7);

       System.out.println("Substring from index 7: " + substring1);

            // 输出:Substring from index 7: World!

       // substring(int beginIndex, int endIndex)

       String substring2 = str.substring(7, 12);

       System.out.println("Substring from index 7 to 12: " + substring2);

           // 输出:Substring from index 7 to 12: World

       // replace(char oldChar, char newChar)

       String replaced = str.replace('o', 'O');

       System.out.println("Replaced string: " + replaced); // 输出:Replaced string: HellO, WOrld!

       // replace(CharSequence target, CharSequence replacement)

       String replaced2 = str.replace("World", "Universe");

       System.out.println("Replaced string: " + replaced2);

           // 输出:Replaced string: Hello, Universe!

       // split(String regex)

       String[] splitArray = str.split(",");

       System.out.println("Split array: " + Arrays.toString(splitArray));

            // 输出:Split array: [Hello,  World!]

       // trim()

       String trimmed = str.trim();

       System.out.println("Trimmed string: " + trimmed);

           // 输出:Trimmed string: Hello, World!

       // equals(Object obj)

       boolean equals = str.equals("Hello, World!");

       System.out.println("Equals 'Hello, World!': " + equals);

           // 输出:Equals 'Hello, World!': true

       // equalsIgnoreCase(String anotherString)

       boolean equalsIgnoreCase = str.equalsIgnoreCase("hello, world!");

       System.out.println("Equals ignore case 'hello, world!': " + equalsIgnoreCase);

           // 输出:Equals ignore case 'hello, world!': true

       // toLowerCase()

       String lowerCase = str.toLowerCase();

       System.out.println("Lower case: " + lowerCase);

           // 输出:Lower case: hello, world!

       // toUpperCase()

       String upperCase = str.toUpperCase();

       System.out.println("Upper case: " + upperCase); // 输出:Upper case: HELLO, WORLD!

       // concat(String str)

       String concat = str.concat(" How are you?");

       System.out.println("Concatenated string: " + concat);

           // 输出:Concatenated string: Hello, World! How are you?

       // contains(CharSequence sequence)

       boolean contains = str.contains("World");

       System.out.println("Contains 'World': " + contains);

           // 输出:Contains 'World': true

       // format(String format, Object... args)

       String formatted = String.format("The value of pi is approximately %.2f", Math.PI);

       System.out.println("Formatted string: " + formatted);

           // 输出:Formatted string: The value of pi is approximately 3.14

   }

}

总结

String是一个重要的数据类型,它提供了许多方法来处理字符串。由于字符串的不可变性,每次对字符串进行

操作都会创建一个新的字符串对象,因此在频繁操作字符串时需要注意性能问题。

相关文章
|
2天前
|
存储 缓存 Java
|
2天前
|
Java
Java 与垃圾回收有关的方法
Java 与垃圾回收有关的方法
|
3天前
|
存储 编解码 算法
Java 的 String StringBuilder StringBuffer(上)
Java 的 String StringBuilder StringBuffer
24 0
|
3天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
3天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
3天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
3天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
3天前
|
Java API
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作
|
3天前
|
并行计算 算法 安全
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
Java从入门到精通:2.1.3深入学习Java核心技术——掌握Java多线程编程
|
3天前
|
存储 Java 测试技术
一文搞清楚Java中的方法、常量、变量、参数
在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:**常量与变量**,我们在数学和物理学中已经接触过变量的概念了,在Java中的变量就是在程序运行过程中可以改变其值的量。
14 0