对java泛型的理解?
因为面试问过,但我回答时重点全没有,回答得乱七八糟理不清头绪。所以能用自己的话简单描述一下么,我想加深一下理解,虽然看过书和百科,但抓不住重点也理解不了。...
因为面试问过,但我回答时重点全没有,回答得乱七八糟理不清头绪。所以能用自己的话简单描述一下么,我想加深一下理解,虽然看过书和百科,但抓不住重点也理解不了。
展开
7个回答
展开全部
说说我的理解哈:
泛型的作用基本就是参数化数据类型,目的是为了安全,比如你在定义方法返回值的时候是list,然后你将list的数据类型泛型化为String,这样的话,你的方法体中如果return的list的元素如果有非String类型的话,程序编译就会报错,而不会等到运行时才报错,如果不使用泛型,要到运行时才能发现错误。编译时出错造成的损失要比运行时少很多。
泛型的作用基本就是参数化数据类型,目的是为了安全,比如你在定义方法返回值的时候是list,然后你将list的数据类型泛型化为String,这样的话,你的方法体中如果return的list的元素如果有非String类型的话,程序编译就会报错,而不会等到运行时才报错,如果不使用泛型,要到运行时才能发现错误。编译时出错造成的损失要比运行时少很多。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛型我个人理解就是先预定义一种虚拟的类型,在初始化的时候再指定他的实际类型。
比如Java类库在定义list的时候只是给定了一个泛型<T>,然后你在具体使用的时候,声明之后,在实例化的时候就需要指定比如List<String> lst = new ArrayList<String>();
比如Java类库在定义list的时候只是给定了一个泛型<T>,然后你在具体使用的时候,声明之后,在实例化的时候就需要指定比如List<String> lst = new ArrayList<String>();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
泛
型(Generic type 或者 generics)是对
简单的理解,就是对类型的参数化,比如我们定义一个类属性或者实例属性时,往往要指定具体的类型,如Integer、Person等等,
但是如果使用了泛型,我们把这些具体的类型参数化,用一个广泛的可以表示所有类型的“类型”T来定义,那这个T就是泛型的表示。
可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map 添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(比如 String)的对象。
因为 Map.get() 被定义为返回 Object,所以一般必须将 Map.get() 的结果强制类型转换为期望的类型,如下面的代码所示:
[java] view plain copy print?
Map m = new HashMap();
m.put("key", "value");
String s = (String) m.get("key");
- 要让程序通过编译,必须将 get() 的结果强制类型转换为 String,并且希望结果真的是一个 String。如果map中保存了的不是 String 的数据,则上面的代码将会抛出 ClassCastException。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如一个list集合 ,没有指定类型时里面都是object对象, 如果你需要取出来就是想要的类型,而不需要强转,这时候就要用到泛型 ,,如 指定List<String> 里面取出来的就是Sting类型的元素,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |