java泛型对象的实例化

实例化具有无参数构造函数的泛型对象

	//newInstance() method need constructor without parameter
	//Class<T> come form Class.class
	public <T> T getNewObject(Class<T> cls) {
		T t=null;
		try {
			t = cls.newInstance();
		} catch (InstantiationException|IllegalAccessException e) {
			e.printStackTrace();
		}
		return t;
	}

调用

String i =getNewObject(String.class);

这种方法需要泛型类具有一个无参数构造函数

实例化没有无参数构造函数的泛型对象

	//newInstance() method need constructor with parameter
	public <T> T getNewObject(Constructor<T> cls, double d) {
		T t = null;
		try {
			t = cls.newInstance(d);
		} catch (InstantiationException | IllegalAccessException
				| IllegalArgumentException | InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return t;
	}

调用

con = Float.class.getConstructor(double.class);
Float k =getNewObject(con,10.0);

这种方法先确定使用泛型类的哪一个构造函数,再通过该构造函数newInstance实例出来。

通用的实例泛型对象(无需区别是否有无参数构造函数)………………

转载于:https://my.oschina.net/superise/blog/681042

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值