package com.customgeneric;
import java.util.ArrayList;
public class CustomMethodGeneric {
public static void main(String[] args) {
Car car = new Car();
car.fly("宝马",100);//当调用方法时,传入参数,编译器就会确定类型
car.fly(300,100.678);
//T--> String R-->ArrayList
Fish<String, ArrayList> fish = new Fish<>();
fish.hello(new ArrayList(),11.3f);
}
}
//泛型方法可以定义在普通类,也可定义在泛型类中
class Car{
public void run(){}//普通方法
public <T,R> void fly(T t,R r){
System.out.println(t.getClass());//String
System.out.println(r.getClass());//Integer 主方法中的100会自动装箱,封装成Integer
}//泛型方法
}
//泛型类
class Fish<T,R>{
public void run(){}//普通方法
public <U,I> void eat(U u,I i){}//泛型方法
//非泛型方法,而是方法使用了泛型
public void hi(T t){}
//泛型方法可以使用类声明的泛型,也可以使用自己声明的泛型
public <K> void hello(R r,K k){//T使用了类声明的,K 是用了自己声明的
System.out.println(r.getClass());//ArrayList
System.out.println(k.getClass());//Float
}
}
CustomMethodGeneric(自定义泛型方法)
最新推荐文章于 2024-07-27 13:31:57 发布