ToB企服应用市场:ToB评测及商务社交产业平台

标题: Java 泛型上下限详解:以 Info 泛型类和方法实现为例 [打印本页]

作者: 南飓风    时间: 2025-1-23 14:09
标题: Java 泛型上下限详解:以 Info 泛型类和方法实现为例


本文将通过一个实际示例,来深入解说 Java 泛型中的上下限及其应用场景。在这个示例中,我们会实现一个泛型类 Info 和两个泛型方法 upperLimit 和 lowerLimit,并表明其工作机制。

1. 什么是 Java 泛型上下限?

Java 泛型的上下限是通过关键字 extends 和 super 定义的。它们的作用是对泛型类型参数施加束缚,规定可接受的类型范围。


2. 示例场景

我们会创建一个泛型类 Info 用于存储数据,随后实现两个方法:
最后,通过一个主函数对方法举行验证。

3. 代码实现

(1)泛型类 Info

起首,我们实现 Info 类:
  1. class Info<T> {
  2.     private T data;
  3.     public void set(T data) {
  4.         this.data = data;
  5.     }
  6.     public T get() {
  7.         return data;
  8.     }
  9. }
复制代码


(2)解决方案类 Solution

接下来,我们实现 Solution 类,其中包含 upperLimit 和 lowerLimit 方法。
  1. class Solution {
  2.     public Number upperLimit(Info<? extends Number> info) {
  3.         // 直接返回 info 中存储的数据
  4.         return info.get();
  5.     }
  6.     public Object lowerLimit(Info<? super String> info) {
  7.         // 直接返回 info 中存储的数据
  8.         return info.get();
  9.     }
  10. }
复制代码


(3)主函数

最后,在主函数中测试以上方法。
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         // 创建 Solution 对象
  4.         Solution solution = new Solution();
  5.         // 测试 upperLimit 方法
  6.         Info<Integer> info = new Info<>();
  7.         info.set(200); // 设置值为 200
  8.         Number number = solution.upperLimit(info);
  9.         if (!number.equals(200)) {
  10.             System.out.println("Verification failure.");
  11.             return;
  12.         }
  13.         // 测试 lowerLimit 方法
  14.         Info<String> infos = new Info<>();
  15.         infos.set("Xx"); // 设置值为 "Xx"
  16.         Object obj = solution.lowerLimit(infos);
  17.         if (!obj.equals("Xx")) {
  18.             System.out.println("Verification failure.");
  19.             return;
  20.         }
  21.         System.out.println("Verification passed.
  22. ");
  23.     }
  24. }
复制代码

4. 运行结果

假如实现无误,运行步伐后会输出:
  1. Verification passed.
复制代码

5. 解析



6. 总结

通过上述代码,我们可以看到:
通过这些特性,Java 的泛型机制让代码更安全、更灵活,同时淘汰了类型转换的贫苦。在实际开发中,善用泛型上下限可以帮助我们构建更健壮的代码。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4