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

待更新

相关推荐
曹牧3 分钟前
JSON 数组的正确使用方式
java·服务器·前端
LINgZone23 分钟前
深入解析:Cglib与JDK动态代理的实现原理、区别及性能对比
java·开发语言
一次旅行3 分钟前
今日心理学知识分享(三)
开发语言·javascript·程序人生·ecmascript
华科易迅11 分钟前
Spring JDBC
java·后端·spring
AI科技星23 分钟前
光速螺旋量子几何统一场论——基于 v ≡ c 公理的四大基本力全维度求导证明与精准数值验证
c语言·开发语言·人工智能·算法·机器学习·平面
云烟成雨TD27 分钟前
Spring AI 1.x 系列【17】函数型工具开发与使用
java·人工智能·spring
天天学IT27 分钟前
第三章 Qt 编译及安装
开发语言·qt·qt教程·qt6教程
xyq202428 分钟前
Window Memcached 安装指南
开发语言
牛十二30 分钟前
openclaw安装mcporter搜索小红书
开发语言·javascript·ecmascript
老刘说AI32 分钟前
WorkFlow Agent案例:auto_document_agent(文件自动处理)
开发语言·数据库·人工智能·python·神经网络·自然语言处理