Java 尖括号<>

在Java编程中,尖括号 < 和 > 主要用于泛型(Generics)。泛型是JDK 5.0引入的一个新特性,它允许在定义类、接口和方法时使用类型参数(type parameters)。类型参数在实际使用泛型时会被具体的类型替换。

尖括号 < > 在泛型中有几个主要的应用场景:

  1. 声明泛型类型
    当你声明一个泛型类或接口时,你会在类或接口名后使用尖括号来指定类型参数。

    public class Box<T> {  
        private T t;  
          
        public void set(T t) {  
            this.t = t;  
        }  
          
        public T get() {  
            return t;  
        }  
    }

    在这个例子中,Box 是一个泛型类,它有一个类型参数 T

  2. 实例化泛型类或接口
    当你创建泛型类或接口的实例时,你需要使用尖括号来指定实际的类型参数。

    Box<Integer> integerBox = new Box<>();  
    Box<String> stringBox = new Box<>();

    在这里,Box<Integer> 和 Box<String> 是使用具体类型(Integer 和 String)来实例化泛型类 Box 的例子。

  3. 泛型方法
    你还可以在方法中使用泛型。这时,方法声明中的尖括号用来指定类型参数。

    public static <T> void printArray(T[] array) {  
        for (T item : array) {  
           System.out.print(item + " ");  
       }  
       System.out.println();  
    }
    Integer[] intArray = {1, 2, 3, 4, 5};  
    printArray(intArray); // 输出:1 2 3 4 5  
      
    String[] stringArray = {"Hello", "World", "Java", "Generics"};  
    printArray(stringArray); // 输出:Hello World Java Generics

    printArray 方法是一个泛型方法。它使用 <T> 来声明一个类型参数 T,这意味着 T 可以代表任何类型。方法接受一个类型为 T[](即 T 类型的数组)的参数,并打印出数组中的每一个元素。<T>:尖括号中的 T 是一个类型参数,它代表一个未知的类型。你可以在方法签名中用它来声明参数的类型、返回类型或局部变量类型。T[] array:这是方法的参数,表示一个 T 类型的数组。由于 T 是泛型类型,这个数组可以包含任何类型的元素。泛型方法的调用不需要指定类型参数,因为编译器会根据传递给方法的实际参数类型来自动推断类型参数。在上面的例子中,我们分别传递了一个 Integer 类型的数组和一个 String 类型的数组给 printArray 方法。尽管方法本身没有为 T 指定具体的类型,编译器能够根据传递给方法的实际参数自动推断出 T 应该代表 Integer 或 String,并生成相应的代码。这种灵活性是泛型方法的一大优势,它使得我们可以编写更加通用和可重用的代码。

  4. 通配符
    在泛型中,尖括号还用于通配符(wildcards),表示未知的类型。这在处理泛型集合时特别有用。

    List<?> unknownList = new ArrayList<>(); // 表示一个包含未知类型的元素的列表  
    List<? extends Number> numberList = new ArrayList<>(); // 表示一个包含Number类型或其子类型的元素的列表  
    List<? super Integer> superList = new ArrayList<>(); // 表示一个包含Integer类型或其父类型的元素的列表

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值