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

待更新

相关推荐
asdzx6717 小时前
C#:从 URL 下载 PDF 文档到本地
开发语言·pdf·c#
lulu121654407817 小时前
Claude Code Routines功能深度解析:24小时云端自动化开发指南
java·人工智能·python·ai编程
阿凤2117 小时前
uniapp如何修改下载文件位置
开发语言·前端·javascript
ch.ju17 小时前
Java程序设计(第3版)第二章——关系运算符
java
m0_7167652317 小时前
数据结构--循环链表、双向链表的插入、删除、查找详解
开发语言·数据结构·c++·学习·链表·青少年编程·visual studio
聆风吟º17 小时前
【C标准库】深入理解C语言strstr函数:子字符串查找的实用指南
c语言·开发语言·库函数·strstr
XY_墨莲伊17 小时前
【编译原理】实验一:基于正则文法的词法分析器设计与实现
开发语言·数据结构·算法
Tirzano18 小时前
springsession全能序列化方案
java·开发语言
坐吃山猪18 小时前
Python20_MCP添加鉴权
开发语言·python
我登哥MVP18 小时前
【SpringMVC笔记】 - 2 - @RequestMapping
java·spring boot·spring·servlet·tomcat·intellij-idea·springmvc