摘要:本文主要向大家介绍了JAVA语言 泛型----T、?的使用实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
本文主要向大家介绍了JAVA语言 泛型----T、?的使用实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
java中T表示泛型。?表示不确定的类型。
jdk使用K表示键,V表示值,T表示type类型,E表示enum枚举。这四个符号只是表示泛型名称,可以换成其他字母,但是需要在之前声明。
示例代码如下:
package javaCode;
import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
public class Test<T1, T2> {
public static void main(String[] args) {
System.out.println(new Test<>().getT1());
System.out.println(new Test<>().getT2());
// T1, T2在new的时候用到,这里都初始化为String
new Test<String, String>().getClassName("");
// HashMaap的括号里不能使用T,E,T1,T2等不确定的东西,但是可以使用?做为通配符
HashMap<?, ?> map = new HashMap<Object, String>();
List<?> list = new ArrayList<String>();
}
public T1 getT1() {
return (T1)"T1";
}
T2 getT2() {
return (T2)"T2";
}
/**
* <T>必须放在void或返回类型的前面
* @param x
*/
public <T> void getClassName(T x) {
System.out.println(x.getClass().getName());
}
/**
* Class前面缺少<T>必须定义,或者出现编译错误,
* 这里的T可以改成其他字符,但是必须要声明
* 当两个都是Class<?>,会自动匹配成T
* 返回参数类型和参数中的类型:class<T> 或Class<?>
* @param a
* @return
*/
public <T> Class<?> getClassAndList(Class<?> a) {
System.out.println(a.getClass().getName());
// 下面这个会报错,原因是会认为ArrayList必须是一种类型,List<>表示通配
//List<?> list = new ArrayList<?>();
List<?> aa = new ArrayList<T>();
// 下面方法也是正确的
List<T> t = new ArrayList<T>();
System.out.println(aa);
return a;
}
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号