All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.hutool.core.convert.CastUtil Maven / Gradle / Ivy

There is a newer version: 5.8.33
Show newest version
package cn.hutool.core.convert;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 转换工具类,提供集合、Map等向上向下转换工具
 *
 * @author looly
 * @since 5.8.1
 */
public class CastUtil {
	/**
	 * 泛型集合向上转型。例如将Collection<Integer>转换为Collection<Number>
	 *
	 * @param collection 集合
	 * @param         元素类型
	 * @return 转换后的集合
	 * @since 5.8.1
	 */
	@SuppressWarnings("unchecked")
	public static  Collection castUp(Collection collection) {
		return (Collection) collection;
	}

	/**
	 * 泛型集合向下转型。例如将Collection<Number>转换为Collection<Integer>
	 *
	 * @param collection 集合
	 * @param         元素类型
	 * @return 转换后的集合
	 * @since 5.8.1
	 */
	@SuppressWarnings("unchecked")
	public static  Collection castDown(Collection collection) {
		return (Collection) collection;
	}

	/**
	 * 泛型集合向上转型。例如将Set<Integer>转换为Set<Number>
	 *
	 * @param set 集合
	 * @param  泛型
	 * @return 泛化集合
	 * @since 5.8.1
	 */
	@SuppressWarnings("unchecked")
	public static  Set castUp(Set set) {
		return (Set) set;
	}

	/**
	 * 泛型集合向下转型。例如将Set<Number>转换为Set<Integer>
	 *
	 * @param set 集合
	 * @param  泛型子类
	 * @return 泛化集合
	 * @since 5.8.1
	 */
	@SuppressWarnings("unchecked")
	public static  Set castDown(Set set) {
		return (Set) set;
	}

	/**
	 * 泛型接口向上转型。例如将List<Integer>转换为List<Number>
	 *
	 * @param list 集合
	 * @param   泛型的父类
	 * @return 泛化集合
	 */
	@SuppressWarnings("unchecked")
	public static  List castUp(List list) {
		return (List) list;
	}

	/**
	 * 泛型集合向下转型。例如将List<Number>转换为List<Integer>
	 *
	 * @param list 集合
	 * @param   泛型的子类
	 * @return 泛化集合
	 */
	@SuppressWarnings("unchecked")
	public static  List castDown(List list) {
		return (List) list;
	}

	/**
	 * 泛型集合向下转型。例如将Map<Integer, Integer>转换为Map<Number,Number>
	 *
	 * @param map 集合
	 * @param  泛型父类
	 * @param  泛型父类
	 * @return 泛化集合
	 * @since 5.8.1
	 */
	@SuppressWarnings("unchecked")
	public static  Map castUp(Map map) {
		return (Map) map;
	}

	/**
	 * 泛型集合向下转型。例如将Map<Number,Number>转换为Map<Integer, Integer>
	 *
	 * @param map 集合
	 * @param  泛型子类
	 * @param  泛型子类
	 * @return 泛化集合
	 * @since 5.8.1
	 */
	@SuppressWarnings("unchecked")
	public static  Map castDown(Map map) {
		return (Map) map;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy