java泛型场景补充

前言

本文不是对泛型的系统介绍,也不打算对其进行入门讲解,只是对遇到的一些泛型场景的补充。看过宋红康和韩顺平的javase课程可以花几分钟看看。

1.&符号在泛型中的使用,用来描述有边界的受约束泛型

java 复制代码
class A{}
interface B{}
public class C< T extends A & B>{}

这里的泛型类型受到约束,既要是A的子类,也要实现B的接口。注意虽然B是接口但是泛型仍要用关键字extends,并且写在A的右边。

2.泛型方法中的泛型参数在方法被调用时确定。常见形参位置带有泛型,然后根据传入实参确定,不再详叙。还有一种少见的情况是根据引用类型来确定的,需要注意。

java 复制代码
public class Testing {
//
	public <T> T generic(){
        String s1 = "generic";
        return (T)s1;
    }
	
	@Test
    public void test2(){
        ReflectionTest r1 = new ReflectionTest();
        String s1 = r1.generic();
        Sort s2 = r1.generic();

    }
}

这里强转成什么类型是由String s1或Sort s2决定的,此时才决定泛型类型。

返回值本身是String类,所以第一次调用不报错,第二次调用报错。

3.泛型通配符的读写情况

待更新

相关推荐
木易 士心1 分钟前
JavaScript 闭包原理和实践深度解析
开发语言·javascript·ecmascript
Wang's Blog2 分钟前
Java框架 SpringCloud 快速入门: Nacos 服务多级存储模型
java·spring·spring cloud
小羊没烦恼!2 分钟前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#
Chase_______4 分钟前
【杂项知识点】一文搞懂 JVM、JRE 与 JDK:从概念混淆到生产部署
java·开发语言·jvm
Nebula_g9 分钟前
JavaSE拓展:Arrays和Collections工具类
java·开发语言·算法·排序算法·工具类·javase·技术栈
菜鸟~noob23315 分钟前
【电子战】 第22篇:误差椭圆与置信区间【含matlab代码】
开发语言·算法·matlab
一个有温度的技术博主16 分钟前
凌晨三点的消息堆积:当 MQ 变成“停车场“
java·后端·场景
老王爱玩车20 分钟前
自定义类型:结构体
c语言·开发语言·学习
潼心1412o25 分钟前
C++初阶(长期更新)第5讲:类和对象(中)
开发语言·c++
weixin_3077791327 分钟前
C++代码实现MATLAB中的normalize函数功能
开发语言·c++·算法·matlab