随笔 - 217  文章 - 4  评论 - 4  阅读 - 23587

自学Java第三十一课

开头我利用TreeSet做了一个案例,用到了Random

 

 泛型

  顾名思义,包括广泛的类型,能让我们存储数据更加方便。本质为参数化类型。  它所操作的数据类型被指定为一个参数。

  参数化类型:将类型由原来的数据类型参数化,在使用时在传入具体类型。

  格式:<类型> 指定一种类型,可看作形参;  <类型1,类型2...>多种类型,可看作形参;

    注:具体调用时给定类型可看成形参,形参必须为引用类型。 Object代表所有引用类型。

  优点:①将运行时出现的问题提前到了编译阶段;

     ②避免了类型强制转换。

泛型类

  格式:修饰符class类名<类型>{}

 

 

 

 泛型方法

  

public class gen<T>{
        public <T> void show(T t){
            System.out.println(t);
    }
}

  这个方法适用于各种数据类型输出。

 

 泛型接口

  

1 public interface gen{
2     void show(T t);
3 }
1 public interface generlm implements gen<T>{
2     //重写方法
3     public void show(T t){
4         System.out.println(t);
5     }
6 }

类型通配符<?>

  目的:为表示各种泛型List父类

  List<?>:表示元素类型未知的List,元素可匹配任何类型。

    注:这种带通配符的List仅表示它是各种泛型List父类,不能添加元素。

  类型通配符上限:<?extends类型>

    例:List<?extendsNumber>表示类型为Number 或其子类。

  类型通配符下限:<?super类型>

    例:List<?super NUmber>表示类型为Number 或其父类

 

 可变参数

  又称参数的个数可变,用作方法的形参出现

  格式:修饰符 返回值类型 方法名(数据类型...变量名){}

    例:public static sum(int...a){}

  注:①a变量是一个数组;②如果一个方法有多个参数,包含可变参数,可变参数必须放最后,变量可包含所有数据

 

 可变参数的使用

  Arrays中静态方法:public static <T> List<T>asList(T...a) 返回值由指定数组支持固定大小列表

    其中元素不可增删,可以修改。

  List接口中静态方法:public static<E>List <E>of(E...elemnets)返回值包含任意数量元素不可变列表

    其中元素不可以增删改。

  Set接口中静态方法:public static<E>Set<E>of(E...elements)返回一个包含任意数量元素的不可变集合

    其中元素不可增删,没有方法进行修改

 

 明天将学习集合体系中的Map。

posted on   跨越&尘世  阅读(23)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示