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

待更新

相关推荐
SunnyDays1011几秒前
Java 高效 TXT 转 Word 指南:单文件、批量及格式美化操作
java·txt转word·文本文件转word·文本转word
m0_611349312 分钟前
什么是副作用(Side Effects)
开发语言·前端·javascript
不急不躁1233 分钟前
Android16 跳过GMS测试项
android·java
oioihoii5 分钟前
C++多线程中join与detach机制深度解析
java·jvm·c++
雨中飘荡的记忆6 分钟前
深入理解 Guava EventBus:让你的系统解耦更优雅
java·后端
uup7 分钟前
方法参数的 “值传递骗局”:修改引用参数为何不改变原对象?
java
TAEHENGV9 分钟前
外观设置模块 Cordova 与 OpenHarmony 混合开发实战
java·运维·服务器
妮妮分享11 分钟前
维智地图如何集成
开发语言·ios·swift
Vic1010112 分钟前
Spring AOP 高级陷阱:为什么 @Before 修改参数是“伪修改“?
java·python·spring
Violet_YSWY18 分钟前
domain文件夹
java