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

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

相关文章
|
26天前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
69 9
|
11天前
|
存储 JavaScript Java
Java 中的 String Pool 简介
本文介绍了 Java 中 String 对象及其存储机制 String Pool 的基本概念,包括字符串引用、构造方法中的内存分配、字符串文字与对象的区别、手工引用、垃圾清理、性能优化,以及 Java 9 中的压缩字符串特性。文章详细解析了 String 对象的初始化、内存使用及优化方法,帮助开发者更好地理解和使用 Java 中的字符串。
Java 中的 String Pool 简介
|
17天前
|
缓存 安全 Java
java 为什么 String 在 java 中是不可变的?
本文探讨了Java中String为何设计为不可变类型,从字符串池的高效利用、哈希码缓存、支持其他对象的安全使用、增强安全性以及线程安全等方面阐述了不可变性的优势。文中还通过具体代码示例解释了这些优点的实际应用。
java 为什么 String 在 java 中是不可变的?
|
29天前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
41 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
11天前
|
存储 Java
Java 11 的String是如何优化存储的?
本文介绍了Java中字符串存储优化的原理和实现。通过判断字符串是否全为拉丁字符,使用`byte`代替`char`存储,以节省空间。具体实现涉及`compress`和`toBytes`方法,前者用于尝试压缩字符串,后者则按常规方式存储。代码示例展示了如何根据配置决定使用哪种存储方式。
|
25天前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
37 4
|
25天前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
25 4
|
27天前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
54 7
|
23天前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
25 1
下一篇
DataWorks