CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-cn-hutool--hutool-core

Comprehensive Java utility library providing collections, strings, beans, dates, I/O, and numerous other utility functions.

Pending
Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

Hutool Core

Hutool Core is a comprehensive Java utility library providing extensive functionality for collections, strings, beans, dates, I/O operations, and numerous other common programming tasks. It offers over 90 utility classes with thousands of static methods designed to simplify Java development with null-safe operations, type conversions, and practical helper functions.

Package Information

  • Package Name: cn.hutool:hutool-core
  • Package Type: maven
  • Language: Java
  • Installation: Add to Maven pom.xml:
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-core</artifactId>
        <version>5.8.40</version>
    </dependency>

Core Imports

import cn.hutool.core.util.StrUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;

Basic Usage

import cn.hutool.core.util.StrUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;

// String utilities
boolean isEmpty = StrUtil.isBlank("  "); // true
String formatted = StrUtil.format("Hello {}", "World"); // "Hello World"

// Collection utilities
List<String> list = CollUtil.newArrayList("a", "b", "c");
boolean hasItems = CollUtil.isNotEmpty(list); // true

// Date utilities
String dateStr = DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss");
Date parsed = DateUtil.parse("2023-01-15", "yyyy-MM-dd");

Architecture

Hutool Core is organized into distinct functional packages:

  • Static Utility Pattern: All functionality exposed through static methods in *Util classes
  • Null-Safe Operations: Extensive null checking throughout all utilities
  • Type Safety: Generic type support where applicable with safe casting utilities
  • Builder Support: Builder classes for complex object construction (StrBuilder, etc.)
  • Converter System: Unified type conversion framework with extensible converters
  • Multi-Language Support: Special utilities for Chinese-specific functionality (ID cards, phone numbers)

Capabilities

String Operations

Comprehensive string manipulation, formatting, conversion, and validation utilities.

public class StrUtil {
    public static boolean isBlank(CharSequence str);
    public static boolean isEmpty(CharSequence str);
    public static String format(String template, Object... params);
    public static String utf8Str(Object obj);
}

String Operations

Collection Operations

Utilities for creating, manipulating, and transforming Java collections with null-safe operations.

public class CollUtil {
    public static <T> boolean isEmpty(Collection<T> collection);
    public static <T> boolean isNotEmpty(Collection<T> collection);
    public static <T> List<T> newArrayList(T... values);
    public static <T> Collection<T> union(Collection<T> coll1, Collection<T> coll2);
}

Collection Operations

Date and Time

Date parsing, formatting, manipulation, and calendar operations with support for both legacy Date API and Java 8+ time API.

public class DateUtil {
    public static String format(Date date, String format);
    public static Date parse(String dateStr, String format);
    public static long between(Date beginDate, Date endDate, DateUnit unit);
}

Date and Time Operations

Type Conversion

Universal type conversion system supporting conversion between all common Java types.

public class Convert {
    public static <T> T convert(Class<T> type, Object value);
    public static String toStr(Object value);
    public static Integer toInt(Object value);
    public static Boolean toBool(Object value);
}

Type Conversion

File and I/O Operations

File operations, stream handling, resource management, and NIO utilities.

public class FileUtil {
    public static String readUtf8String(File file);
    public static void writeUtf8String(String content, File file);
    public static boolean exist(String path);
    public static File copy(File src, File dest, boolean isOverride);
}

public class IoUtil {
    public static long copy(InputStream in, OutputStream out);
    public static void close(Closeable closeable);
    public static String read(InputStream in, Charset charset);
}

File and I/O Operations

Random Operations

Random number generation, string generation, and collection element selection utilities.

public class RandomUtil {
    public static boolean randomBoolean();
    public static int randomInt(int minInclude, int maxExclude);
    public static String randomString(int length);
    public static <T> T randomEle(List<T> list);
}

Random Operations

XML Processing

XML parsing, manipulation, and serialization utilities.

public class XmlUtil {
    public static Document readXML(String pathOrContent);
    public static String toStr(Node doc, boolean isPretty);
    public static Element getElementByXPath(Document doc, String expression);
    public static String escape(String string);
}

XML Operations

Compression Utilities

ZIP file compression, decompression, and archive manipulation utilities.

public class ZipUtil {
    public static File zip(String srcPath, String zipPath);
    public static File unzip(String zipFilePath, String outFileDir);
    public static byte[] gzip(String content, String charset);
    public static String unGzip(byte[] buf, String charset);
}

Compression Operations

URL Processing

URL creation, parsing, encoding, and manipulation utilities.

public class URLUtil {
    public static URL url(String url);
    public static String decode(String url);
    public static String normalize(String url);
    public static InputStream getStream(URL url);
}

URL Operations

Object Operations

Object comparison, validation, cloning, and manipulation utilities.

public class ObjectUtil {
    public static boolean equals(Object obj1, Object obj2);
    public static boolean isEmpty(Object obj);
    public static <T> T defaultIfNull(T object, T defaultValue);
    public static <T> T clone(T obj);
}

Object Operations

Additional Utilities

Other specialized utility classes available in Hutool Core:

  • BeanUtil: JavaBean manipulation, property copying, and object introspection
  • ArrayUtil: Array creation, manipulation, and conversion utilities with null-safe operations
  • NumberUtil: Number parsing, formatting, mathematical operations, and validation utilities
  • ReflectUtil: Reflection utilities for class introspection, method invocation, and field access
  • ReUtil: Regular expression utilities for pattern matching, replacement, and extraction
  • NetUtil: Network utilities for IP address handling, URL operations, and network connectivity
  • ImgUtil: Image processing utilities for reading, writing, scaling, and format conversion
  • HashUtil/HexUtil: Hash generation, encoding/decoding, and basic cryptographic utilities
  • IdcardUtil/PhoneUtil: Specialized utilities for Chinese development (ID cards, phone numbers)

Common Types

// Date unit enumeration
public enum DateUnit {
    MS, SECOND, MINUTE, HOUR, DAY, WEEK
}

// Charset utilities
public class CharsetUtil {
    public static final Charset UTF_8 = StandardCharsets.UTF_8;
    public static final Charset GBK = Charset.forName("GBK");
}

// String pool constants
public interface StrPool {
    String EMPTY = "";
    String NULL = "null";
    String SPACE = " ";
    String TAB = "\t";
    String DOT = ".";
    String SLASH = "/";
    String BACKSLASH = "\\";
}
Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/cn.hutool/hutool-core@5.8.x
Publish Source
CLI
Badge
tessl/maven-cn-hutool--hutool-core badge