黑马程序员_javaAPI集合框架(泛型)
2015-12-17 21:18
489 查看
——- android培训、java培训、期待与您交流! ———-
泛型概述
泛型:JDK1.5版本以后出现的新特性。用于解决安全问题,是一个类型安全机制。
好处:
1.将运行时期出现的问题(ClassCastException)转移到了编译时期,方便于程序员解决问题,让运行时期问题减少,安全。
2.避免了强制转换的麻烦。
泛型格式:通过<>来定义要操作的引用数据类型。
在使用java提供的对象时,什么时候写泛型呢?
通常在集合框架中很常见。只要见到<>就要定义泛型。
泛型类
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候。早期定义Object来完成扩展。现在定义泛型来完成扩展。
示例:
[java] view plaincopy在CODE上查看代码片派生到我的代码片
class Utils
{
private T t;
public void setObject(T t)
{
this.t = t;
}
public T getObject()
{
return t;
}
}
泛型方法
泛型类定义的泛型在整个类中有效。如果被方法使用,那么泛型类的对象明确要操作的具体类型后,所有要操作的类型就已经固定了。所以,为了让不同方法可以操作不同类型,而且类型还不确定。那么可以将泛型定义在方法上。
静态泛型方法
特殊之处,静态方法不可以访问类上定义的泛型。
如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上。
例:public static void method(T t){}
泛型定义在接口上示例:
[java] view plaincopy在CODE上查看代码片派生到我的代码片
interface Inter
{
void show(T t);
}
class InterImpl implements Inter
{
public void show(T t)
{
System.out.println(“show :”+t);
}
}
class GenericDemo
{
public static void main(String[] args)
{
InterImpl i = new InterImpl();
i.show(4);
}
}
类型不确定时怎么办?
当我们对象的类型不确定的时候,用
泛型概述
泛型:JDK1.5版本以后出现的新特性。用于解决安全问题,是一个类型安全机制。
好处:
1.将运行时期出现的问题(ClassCastException)转移到了编译时期,方便于程序员解决问题,让运行时期问题减少,安全。
2.避免了强制转换的麻烦。
泛型格式:通过<>来定义要操作的引用数据类型。
在使用java提供的对象时,什么时候写泛型呢?
通常在集合框架中很常见。只要见到<>就要定义泛型。
泛型类
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候。早期定义Object来完成扩展。现在定义泛型来完成扩展。
示例:
[java] view plaincopy在CODE上查看代码片派生到我的代码片
class Utils
{
private T t;
public void setObject(T t)
{
this.t = t;
}
public T getObject()
{
return t;
}
}
泛型方法
泛型类定义的泛型在整个类中有效。如果被方法使用,那么泛型类的对象明确要操作的具体类型后,所有要操作的类型就已经固定了。所以,为了让不同方法可以操作不同类型,而且类型还不确定。那么可以将泛型定义在方法上。
静态泛型方法
特殊之处,静态方法不可以访问类上定义的泛型。
如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上。
例:public static void method(T t){}
泛型定义在接口上示例:
[java] view plaincopy在CODE上查看代码片派生到我的代码片
interface Inter
{
void show(T t);
}
class InterImpl implements Inter
{
public void show(T t)
{
System.out.println(“show :”+t);
}
}
class GenericDemo
{
public static void main(String[] args)
{
InterImpl i = new InterImpl();
i.show(4);
}
}
类型不确定时怎么办?
当我们对象的类型不确定的时候,用
相关文章推荐
- 黑马程序员_java正则表达式
- 程序员是怎么炼成的
- 程序员常去的14个顶级开发社区
- 黑马程序员——Java之基本数据类型包装类及泛型
- 老程序员的忠告:不要做浮躁的软件工程师
- 黑马程序员--Java编程之反射篇
- java系统程序员修炼之道
- 黑马程序员--约瑟夫环的问题
- 程序员日常-3
- iOS面试部分
- OC面试常见
- IT狂人职场路:揭秘华为百度高管如何炼成?
- EJB面试题
- 黑马程序员--浅谈Overload和Override的区别
- 面试题27:从上往下打印二叉树
- 黑马程序员---Java基础---反射
- 黑马程序员————Java基础之异常机制
- 不要自称为程序员
- iOS开发面试题整理(二)
- 面试题26:栈的压入、弹出序列