在不进行扩展时推断通用类型,可以使用类型推断来解决。以下是一个示例代码:
import java.util.ArrayList;
import java.util.List;
public class TypeInferenceExample {
public static void main(String[] args) {
List stringList = new ArrayList<>();
stringList.add("Hello");
stringList.add("World");
printList(stringList); // 调用泛型方法
List integerList = new ArrayList<>();
integerList.add(1);
integerList.add(2);
printList(integerList); // 调用泛型方法
}
// 泛型方法,可以推断出列表的元素类型
public static void printList(List list) {
for (T item : list) {
System.out.println(item);
}
}
}
在上面的示例中,我们定义了一个泛型方法printList
,它接受一个List
类型的参数。当我们调用该方法时,编译器会根据传递的实参类型来推断出泛型类型T
的具体类型。这样,我们就可以在printList
方法中使用泛型类型T
并打印列表的元素。
在示例中,我们先创建了一个List
类型的列表stringList
,然后将字符串元素添加到该列表中。然后,我们调用printList
方法,并将stringList
作为参数传递给该方法。编译器会自动推断出T
的类型为String
,然后在printList
方法中打印列表的元素。
接下来,我们创建了一个List
类型的列表integerList
,并将整数元素添加到该列表中。然后,我们再次调用printList
方法,并将integerList
作为参数传递给该方法。编译器会自动推断出T
的类型为Integer
,然后在printList
方法中打印列表的元素。
通过使用泛型方法和类型推断,我们可以在不进行扩展时推断通用类型,并以一种通用的方式处理不同类型的列表。
下一篇:不进行枚举的文件操作