Java标准类库详解

简介

Java标准类库(Java Standard Library)是Java开发的核心组成部分,提供了丰富的预定义类和接口,覆盖了字符串处理、集合操作、输入输出、网络编程等多方面功能。掌握这些类库的使用能显著提升开发效率,减少重复造轮子的工作。本文将重点介绍字符串类和数据类型包装器类,并结合实际案例演示其应用。


字符串类
String类

String类是Java中不可变的字符序列,所有修改操作均会生成新对象。其核心特性包括:

  • 不可变性:String对象一旦创建,内容不可更改,适合作为哈希表的键或线程间共享。
  • 常量池优化:通过字面量创建的字符串会存入常量池,减少内存开销。
  • 常用方法
    • length():返回字符串长度。
    • charAt(int index):获取指定位置的字符。
    • substring(int begin, int end):截取子串。
    • equals(Object obj):比较内容是否相同。

示例代码:

String str = "Hello";
String newStr = str.concat(" World"); // 生成新对象"Hello World"
System.out.println(str); // 输出"Hello"(原对象未变)

StringBuffer类

StringBuffer是可变字符序列,适合频繁修改字符串的场景(如循环拼接),线程安全但性能略低。

  • 核心方法
    • append(String str):追加字符串。
    • insert(int offset, String str):在指定位置插入。
    • reverse():反转字符串。

示例代码:

StringBuffer sb = new StringBuffer("Java");
sb.append(" Standard");
sb.insert(4, " Library");
System.out.println(sb.toString()); // 输出"Java Library Standard"

正则表达式

Java通过java.util.regex包支持正则表达式,核心类为PatternMatcher

  • 元字符:如.(任意字符)、\d(数字)、^(行首)。
  • 分组捕获:使用()定义分组,通过group(int)获取匹配内容。
实用案例:检查IP地址

以下代码验证IP地址格式(如192.168.1.1):

import java.util.regex.*;
public class IPValidator {
    private static final String IP_REGEX = "^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$";

    public static boolean isValid(String ip) {
        Pattern pattern = Pattern.compile(IP_REGEX);
        Matcher matcher = pattern.matcher(ip);
        return matcher.matches();
    }

    public static void main(String[] args) {
        System.out.println(isValid("256.1.1.1")); // false
        System.out.println(isValid("192.168.1.1")); // true
    }
}


数据类型包装器类
整型包装器类

Java为8种基本类型提供了对应的包装类(如IntegerDouble),支持对象化操作和自动装箱/拆箱。

  • 核心功能
    • 类型转换:如Integer.parseInt("123")将字符串转为整数。
    • 常量池Integer-128~127的数值缓存,直接复用对象。
    • 工具方法:如Integer.toBinaryString()转为二进制字符串。
实用案例:字符串与数字转换

以下代码演示字符串与数字的相互转换:

// 字符串转数字
String numStr = "42";
int num = Integer.parseInt(numStr);
double d = Double.parseDouble("3.14");

// 数字转字符串
String intStr = Integer.toString(100);
String doubleStr = Double.toString(2.718);

// 自动装箱与拆箱
Integer boxed = 10; // 自动装箱
int unboxed = boxed; // 自动拆箱


总结

Java标准类库的字符串和包装器类是日常开发中的高频工具。String适合只读场景,StringBuffer用于线程安全的动态修改,正则表达式简化复杂文本匹配。包装器类则填补了基本类型与对象之间的鸿沟,提供丰富的工具方法。通过案例实践,可深入理解其设计思想与应用技巧。

更多推荐