实例187 - 泛型化方法与最小值

本文详细解释了泛型类型参数限定的概念及其在实际编程中的应用,包括使用extends关键字将类型限制为接口的实现类。通过示例代码展示了如何在方法中对参数类型进行限制,并提供了具体的应用场景,如比较字符串数组中的最小元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

心法领悟187:泛型类型参数的限定。

限定有两种情况:

  1. 小于某个范围
  2. 大于某个范围

本实例使用的是第一种。“范围”既可以是一个类,也可以是一个接口,还可以是类和接口的组合。对于组合的情况,需要将类放在第一位,并使用&进行分隔。

 

注意:当泛型参数类型被限制为接口的子类型时,也使用extends关键字。

使用下面的语法将T限制为Comparable接口的实现类。

<T extends Comparable<T>> T

package com.mingrisoft.generic;

public class GenericComparison {
    
    public static <T extends Comparable<T>> T getMin(T[] array) {
        if (array == null || array.length == 0) {
            return null;
        }
        T min = array[0];
        
        for (int i = 1; i < array.length; i++) {
            if (min.compareTo(array[i]) > 0) {
                min = array[i];
            }
        }
        return min;
    }
}

 

package com.mingrisoft.generic;

public class GenericComparisonTest {
    public static void main(String[] args) {
        String[] books = { "Java从入门到精通(第2版)", "C#编程宝典", "细说Java", "视频学Java" };
        System.out.println("明日科技新书列表:");
        for (String book : books) {
            System.out.println(book);
        }
        String min = GenericComparison.getMin(books);
        System.out.println("按名称排序最小的第一本书:");
        System.out.println(min);
    }
}

 运行结果:

明日科技新书列表:
Java从入门到精通(第2版)
C#编程宝典
细说Java
视频学Java
按名称排序最小的第一本书:
C#编程宝典

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值