MST

星途 面试题库

面试题:Java中泛型在集合操作中的作用

请阐述Java泛型在集合操作中的主要作用,并举例说明如何在创建集合对象时使用泛型来确保类型安全,比如创建一个只能存储字符串的ArrayList。
48.0万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. Java泛型在集合操作中的主要作用
    • 类型安全:在编译期就可以检查集合中元素的类型,避免在运行时出现ClassCastException。例如,在没有泛型时,向集合中添加了错误类型的元素,直到取出该元素并进行类型转换时才会发现错误,而使用泛型可以在编译时就发现这类错误。
    • 代码复用:通过泛型,集合类可以被设计成适用于多种类型,而不需要为每种类型都创建一个单独的类。比如ArrayList可以通过泛型适用于存储StringInteger等不同类型的数据,而不需要创建StringArrayListIntegerArrayList等多个类。
  2. 创建只能存储字符串的ArrayList示例
import java.util.ArrayList;
import java.util.List;

public class GenericExample {
    public static void main(String[] args) {
        // 创建一个只能存储字符串的ArrayList
        List<String> stringList = new ArrayList<>();
        stringList.add("Hello");
        stringList.add("World");
        // 以下代码会在编译时报错,因为类型不匹配
        // stringList.add(123); 
        for (String str : stringList) {
            System.out.println(str);
        }
    }
}

在上述代码中,List<String>明确指定了ArrayList只能存储String类型的元素,增强了类型安全性。在编译时,如果试图向stringList中添加非String类型的元素,编译器会报错。