工具类 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.Objects,java.time包),当标准 API 不足时再使用这些工具类。