Java - 转换为未知类型

时间:2014-08-30 18:09:48

标签: java list casting

我正在创建一个方法,该方法包含一个包含未知类型的列表。该方法返回列表的最后一个元素。我将有不同的列表包含传递给此方法的不同类型的对象。我需要以某种方式弄清楚传入的列表的最后一个元素的类类型。然后我想要转换我正在返回它的内容。我希望这个方法非常通用,我不希望每次我想传递一个新类类型的列表时都要更新它。有任何想法吗?

public static Object getLastElement(List<? extends Object> cells) {
    return cells.get(cells.size() - 1);
}

感谢。

1 个答案:

答案 0 :(得分:1)

您需要将您的方法泛化为实现此目的,如下所示:

public static <T> T getLastElement(List<T> cells) {
  return cells.get(cells.size() - 1);
}

在这里,您将方法的返回类型声明为与列表中的元素类型相同的泛型类型。因此,您甚至不必投射结果,因为它已经是所需的类型。