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

待更新

相关推荐
笨笨饿36 分钟前
29_Z变换在工程中的实际意义
c语言·开发语言·人工智能·单片机·mcu·算法·机器人
艾为电子1 小时前
【技术帖】让接口不再短命:艾为 C-Shielding™ Type-C智能水汽防护技术解析
c语言·开发语言
棉花骑士1 小时前
【AI Agent】面向 Java 工程师的Claude Code Harness 学习指南
java·开发语言
IGAn CTOU2 小时前
PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案
开发语言·redis·php
爱敲代码的小鱼2 小时前
springboot(2)从基础到项目创建:
java·spring boot·spring
环黄金线HHJX.2 小时前
TSE框架配置与部署详解
开发语言·python
Vfw3VsDKo2 小时前
Maui 实践:Go 接口以类型之名,给 runtime 传递方法参数
开发语言·后端·golang
Pyeako2 小时前
PyQt5 + PaddleOCR实战:打造桌面级实时文字识别工具
开发语言·人工智能·python·qt·paddleocr·pyqt5
迈巴赫车主3 小时前
蓝桥杯19724食堂
java·数据结构·算法·职场和发展·蓝桥杯
i220818 Faiz Ul3 小时前
动漫商城|基于springboot + vue动漫商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·动漫商城系统