Here you can find the source of expand(Object obj, int size, boolean flag, Class> class1)
public static Object expand(Object obj, int size, boolean flag, Class<?> class1)
//package com.java2s; /**/*from w w w .j a va2s .c om*/ * * Copyright 2008 - 2009 * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * * @project loonframework * @author chenpeng * @email:ceponline@yahoo.com.cn * @version 0.1.1 */ import java.lang.reflect.Array; public class Main { public static Object expand(Object obj, int i, boolean flag) { int j = Array.getLength(obj); Object obj1 = Array.newInstance(obj.getClass().getComponentType(), j + i); System.arraycopy(obj, 0, obj1, flag ? 0 : i, j); return obj1; } public static Object expand(Object obj, int size) { return expand(obj, size, true); } public static Object expand(Object obj, int size, boolean flag, Class<?> class1) { if (obj == null) { return Array.newInstance(class1, 1); } else { return expand(obj, size, flag); } } }