package com.youxi.test;
public class Test_f
{
public static void main(String[] args)
{
_util util = new _util();
util.save(new _user());
util.save(new _teacher());
System.out.println("-------------------");
_user findOne = _util.findOne(new _user());
_teacher findOne2 = _util.findOne(new _teacher());
System.out.println(findOne);
System.out.println(findOne2);
System.out.println("-------------------");
_user bean = _util.getBean(1);
_teacher bean2 = _util.getBean(2);
System.out.println(bean);
System.out.println(bean2);
}
}
class _util
{
/*
* 利用传入的参数(T t)中的t进行类型推测__1
*/
public <T extends Object> void save(T t)
{
System.out.println("save..." + t.toString());
}
public static <T> T findOne(T t)
{
return t;
}
/*
* 类型推测__2
*/
@SuppressWarnings("unchecked")
public static <T> T getBean(Integer id)
{
return (T)get(id);
}
private static Object get(Integer id)
{
Object obj = new Object();
if (id == 1)
obj = new _user();
else
obj = new _teacher();
return obj;
}
}
class _user
{
@Override
public String toString()
{
return " pojo user";
}
}
class _teacher
{
@Override
public String toString()
{
return " pojo teacher";
}
}
java__泛型的类型参数推测
最新推荐文章于 2022-04-08 17:06:53 发布