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.泛型通配符的读写情况

待更新

相关推荐
Zane19946 分钟前
Lock 接口与 AQS 核心原理:手写理解一把可重入锁是怎么运作的
java·后端
Full Stack Developme6 分钟前
SpringBoot 整合 Druid 并列出参数清单
java·spring boot·后端
caishenzhibiao6 分钟前
顺势交易矩阵主图 同花顺期货通指标
java·c语言·c#
Lhan.zzZ10 分钟前
深入理解 windeployqt:混合 C++/Qt 项目的打包指南
开发语言·c++·qt
我命由我1234523 分钟前
Android 开发 - 广播组件(标准广播、有序广播、静态注册广播、分钟到达广播、网络变更广播...)
android·java·开发语言·网络·java-ee·android studio·android-studio
周航宇JoeZhou27 分钟前
JP3-2-1-MyItem项目简介
java·ai·springboot·环境搭建·项目·管理·springai
lemon_sjdk33 分钟前
从 ServletRequest 到 Spring 抽象:Web 请求的底层基石与演化
java·前端·spring
米码收割机1 小时前
【Python】Python Django+Vue3校园自习室预约管理系统(源码+文档+PPT)【独一无二】
开发语言·python·django
唐青枫1 小时前
Java Reactor Netty 实战详解:从响应式 HTTP 到 TCP 长连接
java·netty
AstartesEternal1 小时前
python第二次作业(列表,字典)
开发语言·python