Here you can find the source of castList(final List
@SuppressWarnings("unchecked") public static <T, E> List<T> castList(final List<E> original)
//package com.java2s; /*/*from w w w . ja va 2s. c o m*/ * This file is part of CRISIS, an economics simulator. * * Copyright (C) 2015 AITIA International, Inc. * Copyright (C) 2015 John Kieran Phillips * * CRISIS is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CRISIS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with CRISIS. If not, see <http://www.gnu.org/licenses/>. */ import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { /** * Convert a list of type List<E> to List<T> if the cast is * acceptable for all elements of the input list. This * operation yields an unmodifiable list copy of the input. */ @SuppressWarnings("unchecked") public static <T, E> List<T> castList(final List<E> original) { List<T> result = new ArrayList<T>(); for (E record : original) result.add((T) record); return Collections.unmodifiableList(result); } }