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

待更新

相关推荐
青山木几秒前
Hot 100 --- 最小栈
java·数据结构·算法·leetcode
疯狂打码的少年4 分钟前
【数据结构】栈的应用:表达式求值(后缀表达式)
java·数据结构·笔记·算法
liwulin05067 分钟前
【PYTHON】使用Selenium + ChromeDriver以及XPATH语法
开发语言·python·selenium
szephyr9 分钟前
腾讯云 ADP 智能体的 Skills 版本回滚总是回到旧配置,是缓存没清还是版本管理没开?
java·缓存·腾讯云
JavaPub-rodert10 分钟前
我又把自己的 Go 后台管理系统升级了一遍:文件管理、2GB 上传、私有文件预览、Docker 镜像全安排上了
开发语言·docker·golang·shiyuadmin
云烟成雨TD13 分钟前
Micrometer 系列【39】链路追踪:入门案例 | 环境准备
java·云原生·链路追踪
chuan.bai15 分钟前
Java RAG 实战(第 3 篇):从交互式聊天到多轮上下文
java·人工智能·macos·ai
动力 continue16 分钟前
Python 元类与异常类:类的“制造工厂”与“报错定制师”
开发语言·python·制造
quantdash_cc16 分钟前
基于 QuantDash 5 分钟 K 线的网格交易策略参数网格搜索寻优实战
android·开发语言·pandas·量化·quantdash
147API24 分钟前
Python批量生成蒸馏数据,并发、重试、幂等和断点续跑
开发语言·jvm·python