文章目录

零、前言

今天是学习 JAVA语言 打卡的第65天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 ),读完文章之后,按解题思路,自己再实现一遍。在小虚竹JAVA社区 中对应的 【打卡贴】打卡,今天的任务就算完成了。

因为大家都在一起学习同一篇文章,所以有什么问题都可以在群里问,群里的小伙伴可以迅速地帮到你,一个人可以走得很快,一群人可以走得很远,有一起学习交流的战友,是多么幸运的事情。

​ 学完后,自己写篇学习报告的博客,可以发布到小虚竹JAVA社区 ,供学弟学妹们参考。

我的学习策略很简单,题海策略+ 费曼学习法。如果能把这100题都认认真真自己实现一遍,那意味着 JAVA语言 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。

一、题目描述

题目:泛型是JAVA重要的特性,使用泛型编程,可以使代码复用率提高。

实现:在泛型方法中使用通配符

二、解题思路

创建一个类:WildcardsTest。

创建一个方法getMiddle()用于获得给定列表的中间值。

在泛型中,使用“?”作为通配符,通配符的使用与普通的类型参数类似,如通配符可以利用extends关键字来设置取值的上限。如:

<? extends Number>

表示Byte,Double,Float,Integer都适合这个类型参数。

还有,有上限,也有下限,如:

<? super Number>

w含义是类型参数是Number类的父类,如Object.

三、代码详解

package com.xiaoxuzhu;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Description:
*
* @author xiaoxuzhu
* @version 1.0
*
*

* 修改记录:
* 修改后版本 修改人 修改日期 修改内容
* 2022/5/10.1 xiaoxuzhu 2022/5/10 Create
*

* @date 2022/5/10
*/

public class WildcardsTest {
public static Object getMiddle(List extends Number> list) {
return list.get(list.size() / 2);
}

public static void main(String[] args) {
List<Integer> ints = new ArrayList<Integer>();
ints.add(1);
ints.add(2);
ints.add(3);
System.out.print("整型列表的元素:");
System.out.println(Arrays.toString(ints.toArray()));
System.out.println("整型列表的中间数:" + getMiddle(ints));
List<Double> doubles = new ArrayList<Double>();
doubles.add(1.1);
doubles.add(2.2);
doubles.add(3.3);
System.out.print("浮点列表的元素:");
System.out.println(Arrays.toString(doubles.toArray()));
System.out.println("浮点列表的中间数:" + getMiddle(doubles));
}
}

【第65题】必学的泛型2-使用通配符增强泛型_开发语言

五、示例源码下载

关注下面的公众号,回复筑基+题目号

筑基65