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
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
27 11
|
8天前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
|
9天前
|
运维 Java 程序员
Java中的异常处理方法
本文深入剖析Java异常处理机制,介绍可检查异常、运行时异常和错误的区别与处理方式。通过最佳实践方法,如使用合适的异常类型、声明精确异常、try-with-resources语句块、记录异常信息等,帮助开发者提高代码的可靠性、可读性和可维护性。良好的异常处理能保证程序稳定运行,避免资源泄漏和潜在问题。
|
9天前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
29 5
|
27天前
|
存储 安全 算法
Java容器及其常用方法汇总
Java Collections框架提供了丰富的接口和实现类,用于管理和操作集合数据。
Java容器及其常用方法汇总
|
1月前
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
106 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
27天前
|
Java API
java.time常用方法汇总
`java.time` API 是从 Java 8 开始引入的时间日期处理库,旨在替代老旧的 `java.util.Date` 和 `Calendar`。它提供了更简洁、强大和灵活的方式处理日期、时间、时区及时间间隔,支持全球化和时间计算需求。API 包含获取当前时间、创建指定时间、解析和格式化字符串、进行加减运算、比较时间、获取年月日时分秒、计算时间间隔、时区转换以及判断闰年等功能。示例代码展示了如何使用这些功能,极大简化了开发中的时间处理任务。
|
2月前
|
Java
Java快速入门之类、对象、方法
本文简要介绍了Java快速入门中的类、对象和方法。首先,解释了类和对象的概念,类是对象的抽象,对象是类的具体实例。接着,阐述了类的定义和组成,包括属性和行为,并展示了如何创建和使用对象。然后,讨论了成员变量与局部变量的区别,强调了封装的重要性,通过`private`关键字隐藏数据并提供`get/set`方法访问。最后,介绍了构造方法的定义和重载,以及标准类的制作规范,帮助初学者理解如何构建完整的Java类。
|
2月前
|
Java 程序员 调度
Java 高级面试技巧:yield() 与 sleep() 方法的使用场景和区别
本文详细解析了 Java 中 `Thread` 类的 `yield()` 和 `sleep()` 方法,解释了它们的作用、区别及为什么是静态方法。`yield()` 让当前线程释放 CPU 时间片,给其他同等优先级线程运行机会,但不保证暂停;`sleep()` 则让线程进入休眠状态,指定时间后继续执行。两者都是静态方法,因为它们影响线程调度机制而非单一线程行为。这些知识点在面试中常被提及,掌握它们有助于更好地应对多线程编程问题。
87 9
|
2月前
|
Java 调度 开发者
Java线程池ExecutorService学习和使用
通过学习和使用Java中的 `ExecutorService`,可以显著提升并发编程的效率和代码的可维护性。合理配置线程池参数,结合实际应用场景,可以实现高效、可靠的并发处理。希望本文提供的示例和思路能够帮助开发者深入理解并应用 `ExecutorService`,实现更高效的并发程序。
42 10

热门文章

最新文章