Skip to content

工具类 API

LCGYL Framework 提供了一系列常用的工具类,位于 com.lcgyl.core.util 包下。这些工具类零依赖,经过优化,可直接在插件或应用中使用。

StringUtils

字符串处理工具类。

java
import com.lcgyl.core.util.StringUtils;

// 检查是否为空
StringUtils.isEmpty(null);      // true
StringUtils.isEmpty("");        // true
StringUtils.isEmpty(" ");       // false

// 检查是否为空白
StringUtils.isBlank(" ");       // true
StringUtils.isBlank("\t\n");    // true

// 默认值
StringUtils.defaultIfEmpty(str, "default");

// 转换
StringUtils.capitalize("hello"); // "Hello"
StringUtils.toCamelCase("hello_world"); // "helloWorld"
StringUtils.toUnderScoreCase("helloWorld"); // "hello_world"

CollectionUtils

集合处理工具类。

java
import com.lcgyl.core.util.CollectionUtils;

List<String> list = new ArrayList<>();

// 检查是否为空
CollectionUtils.isEmpty(list);  // true
CollectionUtils.isNotEmpty(list); // false

// 安全合并
CollectionUtils.addAll(list, otherList);

// 过滤
List<String> filtered = CollectionUtils.filter(list, s -> s.startsWith("a"));

ReflectionUtils

反射工具类,简化 Java 反射操作。

java
import com.lcgyl.core.util.ReflectionUtils;

// 获取类及其父类的所有字段
Field[] fields = ReflectionUtils.getAllFields(MyClass.class);

// 获取类及其父类的所有方法
Method[] methods = ReflectionUtils.getAllMethods(MyClass.class);

// 查找特定注解的方法
List<Method> annotatedMethods = ReflectionUtils.getMethodsAnnotatedWith(
    MyClass.class, 
    MyAnnotation.class
);

// 创建实例
MyClass instance = ReflectionUtils.newInstance(MyClass.class);

IOUtils

IO 操作工具类。

java
import com.lcgyl.core.util.IOUtils;

// 读取流为字符串
String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);

// 复制流
IOUtils.copy(inputStream, outputStream);

// 关闭流(静默关闭,不抛出异常)
IOUtils.closeQuietly(inputStream);

DateUtils

日期时间工具类,主要基于 Java 8+ java.time API。

java
import com.lcgyl.core.util.DateUtils;

// 格式化
String str = DateUtils.format(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss");

// 解析
LocalDateTime dt = DateUtils.parse("2023-01-01 12:00:00", "yyyy-MM-dd HH:mm:ss");

// 获取当前时间戳
long timestamp = DateUtils.currentTimestamp();

注意事项

  • 这些工具类主要用于框架内部,但也作为公共 API 暴露。
  • 优先使用 JDK 标准 API(如 java.util.Objectsjava.time 包),当标准 API 不足时再使用这些工具类。

Released under the Apache License 2.0