Class CastKit

java.lang.Object
org.miaixz.bus.core.xyz.CastKit

public class CastKit extends Object
转换工具类,提供集合、Map等向上向下转换工具
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T> T
    cast(Object value)
    将指定对象强制转换为指定类型
    static <T> Collection<T>
    castDown(Collection<? super T> collection)
    泛型集合向下转型。例如将Collection<Number>转换为Collection<Integer>
    static <T> List<T>
    castDown(List<? super T> list)
    泛型集合向下转型。例如将List<Number>转换为List<Integer>
    static <K, V> Map<K,V>
    castDown(Map<? super K,? super V> map)
    泛型集合向下转型。例如将Map<Number,Number>转换为Map<Integer, Integer>
    static <T> Set<T>
    castDown(Set<? super T> set)
    泛型集合向下转型。例如将Set<Number>转换为Set<Integer>
    static <T> T
    castTo(Class<T> targetType, Object value)
    将指定对象强制转换为指定类型
    static <T> Collection<T>
    castUp(Collection<? extends T> collection)
    泛型集合向上转型。例如将Collection<Integer>转换为Collection<Number>
    static <T> List<T>
    castUp(List<? extends T> list)
    泛型接口向上转型。例如将List<Integer>转换为List<Number>
    static <K, V> Map<K,V>
    castUp(Map<? extends K,? extends V> map)
    泛型集合向下转型。例如将Map<Integer, Integer>转换为Map<Number,Number>
    static <T> Set<T>
    castUp(Set<? extends T> set)
    泛型集合向上转型。例如将Set<Integer>转换为Set<Number>

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CastKit

      public CastKit()
  • Method Details

    • cast

      public static <T> T cast(Object value)
      将指定对象强制转换为指定类型
      Type Parameters:
      T - 目标类型
      Parameters:
      value - 被转换的对象
      Returns:
      转换后的对象
    • castTo

      public static <T> T castTo(Class<T> targetType, Object value)
      将指定对象强制转换为指定类型
      Type Parameters:
      T - 目标类型
      Parameters:
      targetType - 指定目标类型
      value - 被转换的对象
      Returns:
      转换后的对象
    • castUp

      public static <T> Collection<T> castUp(Collection<? extends T> collection)
      泛型集合向上转型。例如将Collection<Integer>转换为Collection<Number>
      Type Parameters:
      T - 元素类型
      Parameters:
      collection - 集合
      Returns:
      转换后的集合
    • castDown

      public static <T> Collection<T> castDown(Collection<? super T> collection)
      泛型集合向下转型。例如将Collection<Number>转换为Collection<Integer>
      Type Parameters:
      T - 元素类型
      Parameters:
      collection - 集合
      Returns:
      转换后的集合
    • castUp

      public static <T> Set<T> castUp(Set<? extends T> set)
      泛型集合向上转型。例如将Set<Integer>转换为Set<Number>
      Type Parameters:
      T - 泛型
      Parameters:
      set - 集合
      Returns:
      泛化集合
    • castDown

      public static <T> Set<T> castDown(Set<? super T> set)
      泛型集合向下转型。例如将Set<Number>转换为Set<Integer>
      Type Parameters:
      T - 泛型子类
      Parameters:
      set - 集合
      Returns:
      泛化集合
    • castUp

      public static <T> List<T> castUp(List<? extends T> list)
      泛型接口向上转型。例如将List<Integer>转换为List<Number>
      Type Parameters:
      T - 泛型的父类
      Parameters:
      list - 集合
      Returns:
      泛化集合
    • castDown

      public static <T> List<T> castDown(List<? super T> list)
      泛型集合向下转型。例如将List<Number>转换为List<Integer>
      Type Parameters:
      T - 泛型的子类
      Parameters:
      list - 集合
      Returns:
      泛化集合
    • castUp

      public static <K, V> Map<K,V> castUp(Map<? extends K,? extends V> map)
      泛型集合向下转型。例如将Map<Integer, Integer>转换为Map<Number,Number>
      Type Parameters:
      K - 泛型父类
      V - 泛型父类
      Parameters:
      map - 集合
      Returns:
      泛化集合
    • castDown

      public static <K, V> Map<K,V> castDown(Map<? super K,? super V> map)
      泛型集合向下转型。例如将Map<Number,Number>转换为Map<Integer, Integer>
      Type Parameters:
      K - 泛型子类
      V - 泛型子类
      Parameters:
      map - 集合
      Returns:
      泛化集合