package org.nutz.lang.born; import java.lang.reflect.Array; import org.nutz.lang.Lang; /** * 封装了生成一个数组对象的方式,它 born 的时候,需要一个参数表示数组长度 * * @author zozoh(zozohtnt@gmail.com) */ public class ArrayBorning implements Borning<Object> { private Class<?> eleType; public ArrayBorning(Class<?> eleType) { this.eleType = eleType; } public Object born(Object... args) { // 第一个参数必须为整数 if (args.length >= 1) { Object arg0 = args[0]; if (arg0 instanceof Number) { return Array.newInstance(eleType, ((Number) arg0).intValue()); } } throw Lang.makeThrow("array borning need length, arg0 should be number"); } }