java泛型接口是怎么一回事,干什么用的

1.java里的泛型有什么好处呢,以前不用泛型,也一样使用啊,没觉得有啥不足之处2.泛型接口,是怎么一回事比如map容器,map.put(obj,obj);他是可以存储o... 1.java里的泛型有什么好处呢,以前不用泛型,也一样使用啊,没觉得有啥不足之处
2.泛型接口,是怎么一回事
比如map容器,map.put(obj, obj);
他是可以存储object类型的,也就是说可以存任何东西,为啥还要用泛型呢
展开
 我来答
wanjunfu
推荐于2017-09-17 · TA获得超过295个赞
知道答主
回答量:215
采纳率:0%
帮助的人:278万
展开全部
这个啊 泛型好处多了。
有了泛型 你可以再hashtable中存任何类型的value 包括自定义的类

例如。有一个类是 class client{}

Hashtable<String ,client> ht = new Hashtable<String ,client>();

很方便的东西。让你代码更完美的。

=============================接话献佛========================
应该是我很久没有好好学技术了,有时候想用的时候却发现不会写,比如今天遇到了泛型接口,所以要记录一下,这样才能更明白...
在这里我并不想说泛型接口怎么写,这个很简单,后面会写的,只是想说我为什么要用.
泛型接口的意图是什么?请看如下的问题:

Java代码
abstract class BaseBean{
//略
}

Interface IA{
public BaseBean doSomething();
}

下面我们继承这个BaseBean
Java代码
class ChildBean extends BaseBean{

}

接下来实现接口
Java代码
class IAImpl implements IA{
public BaseBean doSomething(){
return new ChildBean();
}
}

好了这是惯常的写法,但是同学们有没有发现一个问题当你返回得到BaseBean的时候其实你需要的是他的实例而不是这个真实的Bean,而当你强转时又需要注意两点: NullPoint 和 类型是否对,这个很麻烦,因为调用者完全不知道调用什么.那么我们来描述我们需要什么:
我们需要IA的doSomething返回的是一个对象这个对象extends于BaseBean

那么接下来我们就用泛型接口吧:
Java代码
Interface IA<T extends BaseBean>{
public T doSomething();
}

class IAImpl implements IA<ChildBean>{
public ChildBean doSomething(){
return new ChildBean();
}
}

这样当你调用这个实现的时候就能明确地得到返回的对象类型,清楚明了,这就是泛型接口的使用.其实我们平时一直在用的 Iterable就是这玩意大家可以去看下. 回家准备读下java编程思想中的相关段落.
总结今天收获很大,这里要感谢下灵芝同学给我的帮助,是她告诉了我,我所想要的东西叫泛型接口,感谢...
下次等我把泛型都再重新回炉下,再来把泛型的其他东西讲来听听...
在清凉谷吃大餐的埃及狼
2019-08-13
知道答主
回答量:1
采纳率:0%
帮助的人:703
展开全部
现在也可以用object类型,但是返回值的时候你要把object类型擦除,强制转换为具体类型,小项目看不出弊端,但是项目一大就不太方便,如果没有泛型机制,系统不会帮忙检查类型装换,这就需要程序员自己记住大量数据转换,还很容易类型装换错误带来的种种bug,好比你拿着一叠钱买菜,没有泛型的话,你要亲自一样一样的买,有泛型的话,你相当有一部机器,可以把你需要的一次性给你,就是不用自己亲力亲为,省力还少bug。同样的路,有人搭飞机,有人步行,就这区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6606ac94b
2010-11-03 · TA获得超过1151个赞
知道小有建树答主
回答量:1331
采纳率:0%
帮助的人:1267万
展开全部
泛型相当于篮子,在制造的时候没有说明里面装的是什么,在使用的时候再说明,比如:
篮子<鸡蛋> 或者 篮子<蔬菜>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星辰之旅37
2010-11-03 · 超过13用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:46.6万
展开全部
kankan
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ExamRen
2010-11-03 · TA获得超过759个赞
知道小有建树答主
回答量:551
采纳率:0%
帮助的人:154万
展开全部
1.泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
Java语言引入泛型的好处是安全简单。
在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

2.应该是我很久没有好好学技术了,有时辰想用的时辰却发现不会写,比如今天碰到了泛型接口,以是要记录一下,如许才能更明白...
在这搭我其实不想说泛型接口怎么写,这个很简略,后面会写的,只是想说我为什么要用.
泛型接口的意图是什么?请看如次的需要别人解答的题目:
abstract class BaseBean{ //略 } Interface IA{ public BaseBean doSomething(); }
下面我们继承这个BaseBean
class ChildBean extends BaseBean{ }
接下来使成为事实接口
class IAImpl implements IA{ public BaseBean doSomething(){ return new ChildBean(); } }
好了这是惯常的写法,可是同学们有无发现1个需要别人解答的题目当你归回获得BaseBean的时辰其实你需要的是他的实例而不是这个真实的Bean,而当你强转时又需要注意两点: NullPoint 和 类型是否对,这个很麻烦,由于调用者纯粹不知道调用什么.那么我们来描述我们需要什么:
我们需要IA的doSomething归回的是1个对象这个对象extends于BaseBean
那么接下来我们就用泛型接口吧:
Interface IA<T extends BaseBean>{ public T doSomething(); } class IAImpl implements IA<ChildBean>{ public ChildBean doSomething(){ return new ChildBean(); } }
如许当你调用这个使成为事实的时辰就能明确地获得归回的对象类型,清楚明了,这就是泛型接口的使用.其实我们平时一直在用的 Iterable就是这玩意各人可以去看下. 回家筹办读下java编程思惟中的相干段落.
总结今天收获很大,这搭要感谢下灵芝同学给我的帮助,是她告诉了我,我所想要的东西叫泛型接口,感谢...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式